@sonarwatch/portfolio-plugins 0.15.30 → 0.15.31

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 (65) hide show
  1. package/CHANGELOG.md +43 -21
  2. package/package.json +1 -1
  3. package/src/plugins/cropper/whirlpoolFetcher.js +1 -1
  4. package/src/plugins/cropper/whirlpoolFetcher.js.map +1 -1
  5. package/src/plugins/helium/getHeliumPositions.d.ts +1 -1
  6. package/src/plugins/helium/getHeliumPositions.js +1 -2
  7. package/src/plugins/helium/getHeliumPositions.js.map +1 -1
  8. package/src/plugins/helium/positionsFetcher.js +1 -1
  9. package/src/plugins/helium/positionsFetcher.js.map +1 -1
  10. package/src/plugins/magiceden/bidsFetcher.d.ts +3 -0
  11. package/src/plugins/magiceden/bidsFetcher.js +58 -0
  12. package/src/plugins/magiceden/bidsFetcher.js.map +1 -0
  13. package/src/plugins/magiceden/constants.d.ts +1 -0
  14. package/src/plugins/magiceden/constants.js +2 -1
  15. package/src/plugins/magiceden/constants.js.map +1 -1
  16. package/src/plugins/magiceden/index.js +2 -1
  17. package/src/plugins/magiceden/index.js.map +1 -1
  18. package/src/plugins/magiceden/structs.d.ts +30 -0
  19. package/src/plugins/magiceden/structs.js +29 -1
  20. package/src/plugins/magiceden/structs.js.map +1 -1
  21. package/src/plugins/metaplex/index.js +5 -1
  22. package/src/plugins/metaplex/index.js.map +1 -1
  23. package/src/plugins/metaplex/resizableNftFetcher.d.ts +0 -3
  24. package/src/plugins/metaplex/resizableNftFetcher.js +3 -8
  25. package/src/plugins/metaplex/resizableNftFetcher.js.map +1 -1
  26. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.d.ts +0 -3
  27. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.js +2 -10
  28. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.js.map +1 -1
  29. package/src/plugins/meteora/index.js +2 -0
  30. package/src/plugins/meteora/index.js.map +1 -1
  31. package/src/plugins/orca/getWhirlpoolPositions.d.ts +1 -1
  32. package/src/plugins/orca/getWhirlpoolPositions.js +3 -4
  33. package/src/plugins/orca/getWhirlpoolPositions.js.map +1 -1
  34. package/src/plugins/orca/whirlpoolFetcher.js +1 -1
  35. package/src/plugins/orca/whirlpoolFetcher.js.map +1 -1
  36. package/src/plugins/picasso/getPicassoPositions.d.ts +1 -1
  37. package/src/plugins/picasso/getPicassoPositions.js +1 -2
  38. package/src/plugins/picasso/getPicassoPositions.js.map +1 -1
  39. package/src/plugins/picasso/positionsFetcher.js +1 -1
  40. package/src/plugins/picasso/positionsFetcher.js.map +1 -1
  41. package/src/plugins/raydium/clmmFetcher.d.ts +0 -3
  42. package/src/plugins/raydium/clmmFetcher.js +3 -96
  43. package/src/plugins/raydium/clmmFetcher.js.map +1 -1
  44. package/src/plugins/raydium/getClmmPositions.d.ts +3 -0
  45. package/src/plugins/raydium/getClmmPositions.js +107 -0
  46. package/src/plugins/raydium/getClmmPositions.js.map +1 -0
  47. package/src/plugins/streamflow/stakingFetcher.js +2 -0
  48. package/src/plugins/streamflow/stakingFetcher.js.map +1 -1
  49. package/src/plugins/tokens/fetchers/solana-native.js +21 -11
  50. package/src/plugins/tokens/fetchers/solana-native.js.map +1 -1
  51. package/src/plugins/tokens/fetchers/solana-nfts-underlyings.d.ts +3 -0
  52. package/src/plugins/tokens/fetchers/solana-nfts-underlyings.js +44 -0
  53. package/src/plugins/tokens/fetchers/solana-nfts-underlyings.js.map +1 -0
  54. package/src/plugins/tokens/fetchers/solana-simple.js +44 -4
  55. package/src/plugins/tokens/fetchers/solana-simple.js.map +1 -1
  56. package/src/plugins/tokens/fetchers/solana.d.ts +0 -4
  57. package/src/plugins/tokens/fetchers/solana.js +104 -85
  58. package/src/plugins/tokens/fetchers/solana.js.map +1 -1
  59. package/src/plugins/tokens/index.js +4 -2
  60. package/src/plugins/tokens/index.js.map +1 -1
  61. package/src/plugins/tokens/types.d.ts +1 -1
  62. package/src/utils/elementbuilder/AssetTokenBuilder.d.ts +1 -2
  63. package/src/utils/elementbuilder/AssetTokenBuilder.js +1 -2
  64. package/src/utils/elementbuilder/AssetTokenBuilder.js.map +1 -1
  65. package/src/utils/elementbuilder/Params.d.ts +1 -2
@@ -8,99 +8,118 @@ 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
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getSolanaTokens = void 0;
13
15
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
14
17
  const helpers_1 = require("../helpers");
15
- const getTokenAccountsByOwner_1 = require("../../../utils/solana/getTokenAccountsByOwner");
16
- const ElementRegistry_1 = require("../../../utils/elementbuilder/ElementRegistry");
17
- const TokenYieldMap_1 = require("../../../TokenYieldMap");
18
- const getWhirlpoolPositions_1 = require("../../orca/getWhirlpoolPositions");
19
- const constants_1 = require("../../orca/constants");
20
- const constants_2 = require("../../cropper/constants");
21
- const getHeliumPositions_1 = require("../../helium/getHeliumPositions");
22
- const getPicassoPositions_1 = require("../../picasso/getPicassoPositions");
23
- const cpammPositionsFetcher_1 = require("../../meteora/cpamm/cpammPositionsFetcher");
24
- const clmmFetcher_1 = require("../../raydium/clmmFetcher");
25
- const resizableNftFetcher_1 = require("../../metaplex/resizableNftFetcher");
26
- const getSolanaTokens = (simple) => (tokenAccounts, cache) => __awaiter(void 0, void 0, void 0, function* () {
27
- const fungibleAddresses = tokenAccounts.map((ta) => ta.mint.toString());
28
- const tokenPrices = yield cache.getTokenPricesAsMap(fungibleAddresses, portfolio_core_1.NetworkId.solana);
29
- const tokenYields = !simple
30
- ? yield cache.getTokenYieldsAsMap([...tokenPrices.keys()], portfolio_core_1.NetworkId.solana)
31
- : new TokenYieldMap_1.TokenYieldMap(portfolio_core_1.NetworkId.solana);
32
- const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, portfolio_core_1.walletTokensPlatformId);
33
- const elementTokens = elementRegistry.addElementMultiple({
34
- label: 'Wallet',
18
+ const tokenPriceToAssetToken_1 = __importDefault(require("../../../utils/misc/tokenPriceToAssetToken"));
19
+ const heliusAssetToAssetCollectible_1 = require("../../../utils/solana/das/heliusAssetToAssetCollectible");
20
+ const getAssetsByOwnerDas_1 = require("../../../utils/solana/das/getAssetsByOwnerDas");
21
+ const isHeliusFungibleAsset_1 = require("../../../utils/solana/das/isHeliusFungibleAsset");
22
+ const getSolanaDasEndpoint_1 = __importDefault(require("../../../utils/clients/getSolanaDasEndpoint"));
23
+ const tokenPriceToAssetTokens_1 = __importDefault(require("../../../utils/misc/tokenPriceToAssetTokens"));
24
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
25
+ var _a;
26
+ const dasEndpoint = (0, getSolanaDasEndpoint_1.default)();
27
+ const items = yield (0, getAssetsByOwnerDas_1.getAssetsByOwnerDas)(dasEndpoint, owner, {
28
+ showNativeBalance: false,
29
+ showGrandTotal: false,
30
+ showInscription: false,
35
31
  });
36
- const elementsLiquidity = new Map();
37
- tokenAccounts.forEach((tokenAccount) => {
38
- var _a;
39
- const address = tokenAccount.mint.toString();
40
- const tokenPrice = tokenPrices.get(address);
41
- if (!tokenPrice)
42
- return;
43
- const tokenYield = tokenYields.get(address);
44
- const amount = tokenAccount.amount.shiftedBy(-tokenPrice.decimals);
45
- if (tokenPrice.platformId === portfolio_core_1.walletTokensPlatformId) {
46
- // it's a regular token
47
- elementTokens.addAsset({
48
- address,
49
- amount,
50
- alreadyShifted: true,
51
- ref: tokenAccount.pubkey,
52
- link: tokenPrice.link,
53
- sourceRefs: tokenPrice.sourceRefs,
54
- tokenYield,
55
- });
56
- }
57
- else if (!simple) {
58
- // it's an LP Token
32
+ const fungibleAddresses = items.reduce((addresses, curr) => {
33
+ if ((0, isHeliusFungibleAsset_1.isHeliusFungibleAsset)(curr))
34
+ addresses.push(curr.id);
35
+ return addresses;
36
+ }, []);
37
+ const tokenPrices = yield cache.getTokenPricesAsMap(fungibleAddresses, portfolio_core_1.NetworkId.solana);
38
+ const tokenYields = yield cache.getTokenYieldsAsMap(fungibleAddresses, portfolio_core_1.NetworkId.solana);
39
+ const nftAssets = [];
40
+ const tokenAssets = [];
41
+ const liquiditiesByTag = {};
42
+ for (let i = 0; i < items.length; i++) {
43
+ const asset = items[i];
44
+ const isFungible = (0, isHeliusFungibleAsset_1.isHeliusFungibleAsset)(asset);
45
+ const address = asset.id;
46
+ const tokenPrice = isFungible ? tokenPrices.get(address) : undefined;
47
+ const tokenYield = isFungible ? tokenYields.get(address) : undefined;
48
+ const amount = asset.token_info
49
+ ? (0, bignumber_js_1.default)(asset.token_info.balance)
50
+ .div(Math.pow(10, asset.token_info.decimals))
51
+ .toNumber()
52
+ : 1;
53
+ // If it's an LP Token
54
+ if (tokenPrice && tokenPrice.platformId !== portfolio_core_1.walletTokensPlatformId) {
55
+ const assets = (0, tokenPriceToAssetTokens_1.default)(address, amount, portfolio_core_1.NetworkId.solana, tokenPrice);
56
+ const liquidity = {
57
+ assets,
58
+ assetsValue: (0, portfolio_core_1.getUsdValueSum)(assets.map((a) => a.value)),
59
+ rewardAssets: [],
60
+ rewardAssetsValue: 0,
61
+ value: (0, portfolio_core_1.getUsdValueSum)(assets.map((a) => a.value)),
62
+ yields: tokenYield ? [tokenYield.yield] : [],
63
+ name: tokenPrice.liquidityName,
64
+ };
59
65
  const tag = (0, helpers_1.getLpTag)(tokenPrice.platformId, tokenPrice.elementName, tokenPrice.label);
60
- let elementLiquidity = elementsLiquidity.get(tag);
61
- if (!elementLiquidity) {
62
- elementLiquidity = elementRegistry.addElementLiquidity({
63
- name: tokenPrice.elementName,
64
- label: (_a = tokenPrice.label) !== null && _a !== void 0 ? _a : 'LiquidityPool',
65
- platformId: tokenPrice.platformId,
66
- });
66
+ if (!liquiditiesByTag[tag]) {
67
+ liquiditiesByTag[tag] = [];
67
68
  }
68
- const liquidity = elementLiquidity.addLiquidity({
69
- name: tokenPrice.liquidityName,
70
- });
71
- liquidity.addAsset({
72
- address,
73
- amount,
74
- alreadyShifted: true,
75
- ref: tokenAccount.pubkey,
76
- link: tokenPrice.link,
77
- sourceRefs: tokenPrice.sourceRefs,
78
- tokenYield,
79
- });
80
- elementsLiquidity.set(tag, elementLiquidity);
69
+ liquiditiesByTag[tag].push(liquidity);
81
70
  }
82
- });
83
- return elementRegistry.getElements(cache);
84
- });
85
- exports.getSolanaTokens = getSolanaTokens;
86
- const tokensFetchers = [
87
- clmmFetcher_1.getRaydiumClmmPositions,
88
- cpammPositionsFetcher_1.getMeteoraCpammPositions,
89
- (0, getWhirlpoolPositions_1.getOrcaPositions)(constants_1.platformId),
90
- (0, getWhirlpoolPositions_1.getOrcaPositions)(constants_2.platformId, constants_2.clmmPid),
91
- getHeliumPositions_1.getHeliumPositions,
92
- getPicassoPositions_1.getPicassoPositions,
93
- (0, exports.getSolanaTokens)(false),
94
- resizableNftFetcher_1.getResizableNfts,
95
- ];
96
- const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
97
- const tokenAccounts = yield (0, getTokenAccountsByOwner_1.getTokenAccountsByOwner)(owner);
98
- const results = [];
99
- for (const tokensFetcher of tokensFetchers) {
100
- results.push(tokensFetcher(tokenAccounts, cache));
71
+ // If it's a regular token
72
+ else if (tokenPrice && tokenPrice.platformId === portfolio_core_1.walletTokensPlatformId) {
73
+ tokenAssets.push(Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(address, amount, portfolio_core_1.NetworkId.solana, tokenPrice, undefined, undefined, undefined, tokenYield)), { ref: (_a = asset.token_info) === null || _a === void 0 ? void 0 : _a.associated_token_address, link: tokenPrice.link, sourceRefs: tokenPrice.sourceRefs }));
74
+ }
75
+ // If it's a NFT
76
+ else {
77
+ const nftAsset = (0, heliusAssetToAssetCollectible_1.heliusAssetToAssetCollectible)(asset);
78
+ if (nftAsset)
79
+ nftAssets.push(nftAsset);
80
+ }
81
+ }
82
+ const elements = [];
83
+ if (nftAssets.length !== 0) {
84
+ elements.push({
85
+ type: portfolio_core_1.PortfolioElementType.multiple,
86
+ networkId: portfolio_core_1.NetworkId.solana,
87
+ platformId: portfolio_core_1.walletNftsPlatformId,
88
+ label: 'Wallet',
89
+ value: null,
90
+ data: {
91
+ // Limit NFTs to 1K, to avoid fetcherResult to be too big
92
+ assets: nftAssets.slice(0, 1000),
93
+ },
94
+ });
95
+ }
96
+ if (tokenAssets.length !== 0) {
97
+ elements.push({
98
+ type: portfolio_core_1.PortfolioElementType.multiple,
99
+ networkId: portfolio_core_1.NetworkId.solana,
100
+ platformId: portfolio_core_1.walletTokensPlatformId,
101
+ label: 'Wallet',
102
+ value: (0, portfolio_core_1.getUsdValueSum)(tokenAssets.map((a) => a.value)),
103
+ data: {
104
+ assets: tokenAssets,
105
+ },
106
+ });
107
+ }
108
+ for (const [tag, liquidities] of Object.entries(liquiditiesByTag)) {
109
+ const { platformId, elementName, label } = (0, helpers_1.parseLpTag)(tag);
110
+ elements.push({
111
+ type: portfolio_core_1.PortfolioElementType.liquidity,
112
+ networkId: portfolio_core_1.NetworkId.solana,
113
+ platformId,
114
+ name: elementName,
115
+ label: label !== null && label !== void 0 ? label : 'LiquidityPool',
116
+ value: (0, portfolio_core_1.getUsdValueSum)(liquidities.map((a) => a.value)),
117
+ data: {
118
+ liquidities,
119
+ },
120
+ });
101
121
  }
102
- const result = yield Promise.allSettled(results);
103
- return result.flatMap((res) => (res.status === 'rejected' ? [] : res.value));
122
+ return elements;
104
123
  });
105
124
  const fetcher = {
106
125
  id: `${portfolio_core_1.walletTokensPlatformId}-solana`,
@@ -1 +1 @@
1
- {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,9 @@ const sui_1 = __importDefault(require("./fetchers/sui"));
11
11
  const sui_nfts_1 = __importDefault(require("./fetchers/sui-nfts"));
12
12
  const sei_1 = __importDefault(require("./fetchers/sei"));
13
13
  const bitcoin_1 = __importDefault(require("./fetchers/bitcoin"));
14
- const solana_native_1 = __importDefault(require("./fetchers/solana-native"));
15
14
  const solana_1 = __importDefault(require("./fetchers/solana"));
15
+ const solana_native_1 = __importDefault(require("./fetchers/solana-native"));
16
+ const solana_nfts_underlyings_1 = __importDefault(require("./fetchers/solana-nfts-underlyings"));
16
17
  const evms_1 = require("./fetchers/evms");
17
18
  const getTokenListsJob_1 = __importDefault(require("./getTokenListsJob"));
18
19
  const solana_simple_1 = __importDefault(require("./fetchers/solana-simple"));
@@ -31,8 +32,9 @@ exports.jobs = [
31
32
  ];
32
33
  exports.fetchers = [
33
34
  aptos_1.default,
34
- solana_native_1.default,
35
35
  solana_1.default,
36
+ solana_native_1.default,
37
+ solana_nfts_underlyings_1.default,
36
38
  sui_1.default,
37
39
  sui_nfts_1.default,
38
40
  sei_1.default,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tokens/index.ts"],"names":[],"mappings":";;;;;;AAAA,+DAAwE;AAIxE,kEAA0C;AAC1C,6DAA4C;AAC5C,yDAAwC;AACxC,mEAAiD;AACjD,yDAAwC;AACxC,iEAAgD;AAChD,6EAA2D;AAC3D,+DAA6C;AAC7C,0CAA0D;AAC1D,0EAAkD;AAElD,6EAA2D;AA0BlD,8BA1BF,uBAAmB,CA0BE;AAxBf,QAAA,IAAI,GAAU;IACzB,IAAA,sBAAY,EAAC,0BAAS,CAAC,OAAO,CAAC;IAC/B,IAAA,sBAAY,EAAC,0BAAS,CAAC,KAAK,CAAC;IAC7B,IAAA,sBAAY,EAAC,0BAAS,CAAC,MAAM,CAAC;IAC9B,IAAA,sBAAY,EAAC,0BAAS,CAAC,QAAQ,CAAC;IAChC,IAAA,sBAAY,EAAC,0BAAS,CAAC,SAAS,CAAC;IACjC,IAAA,sBAAY,EAAC,0BAAS,CAAC,OAAO,CAAC;IAC/B,IAAA,sBAAY,EAAC,0BAAS,CAAC,GAAG,CAAC;IAC3B,IAAA,sBAAY,EAAC,0BAAS,CAAC,GAAG,CAAC;IAC3B,IAAA,sBAAY,EAAC,0BAAS,CAAC,GAAG,CAAC;IAC3B,GAAG,gCAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,0BAAgB,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;CAClE,CAAC;AAEW,QAAA,QAAQ,GAAc;IACjC,eAAY;IACZ,uBAAmB;IACnB,gBAAY;IACZ,aAAU;IACV,kBAAc;IACd,aAAU;IACV,iBAAc;IACd,GAAG,eAAW;CACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tokens/index.ts"],"names":[],"mappings":";;;;;;AAAA,+DAAwE;AAIxE,kEAA0C;AAC1C,6DAA4C;AAC5C,yDAAwC;AACxC,mEAAiD;AACjD,yDAAwC;AACxC,iEAAgD;AAChD,+DAA8C;AAC9C,6EAA2D;AAC3D,iGAA8E;AAC9E,0CAA0D;AAC1D,0EAAkD;AAElD,6EAA2D;AA2BlD,8BA3BF,uBAAmB,CA2BE;AAzBf,QAAA,IAAI,GAAU;IACzB,IAAA,sBAAY,EAAC,0BAAS,CAAC,OAAO,CAAC;IAC/B,IAAA,sBAAY,EAAC,0BAAS,CAAC,KAAK,CAAC;IAC7B,IAAA,sBAAY,EAAC,0BAAS,CAAC,MAAM,CAAC;IAC9B,IAAA,sBAAY,EAAC,0BAAS,CAAC,QAAQ,CAAC;IAChC,IAAA,sBAAY,EAAC,0BAAS,CAAC,SAAS,CAAC;IACjC,IAAA,sBAAY,EAAC,0BAAS,CAAC,OAAO,CAAC;IAC/B,IAAA,sBAAY,EAAC,0BAAS,CAAC,GAAG,CAAC;IAC3B,IAAA,sBAAY,EAAC,0BAAS,CAAC,GAAG,CAAC;IAC3B,IAAA,sBAAY,EAAC,0BAAS,CAAC,GAAG,CAAC;IAC3B,GAAG,gCAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,0BAAgB,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;CAClE,CAAC;AAEW,QAAA,QAAQ,GAAc;IACjC,eAAY;IACZ,gBAAa;IACb,uBAAmB;IACnB,iCAA4B;IAC5B,aAAU;IACV,kBAAc;IACd,aAAU;IACV,iBAAc;IACd,GAAG,eAAW;CACf,CAAC"}
@@ -36,4 +36,4 @@ export type Token = {
36
36
  index?: string;
37
37
  };
38
38
  };
39
- export type TokenFetcher = (potentialTokens: ParsedAccount<TokenAccount>[], cache: Cache) => Promise<PortfolioElement[]>;
39
+ export type NftFetcher = (potentialTokens: ParsedAccount<TokenAccount>[], cache: Cache) => Promise<PortfolioElement[]>;
@@ -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, TokenYield } from '@sonarwatch/portfolio-core';
3
+ import { NetworkIdType, PortfolioAsset, PortfolioAssetAttributes, SourceRef, TokenPriceMap } 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,7 +13,6 @@ export declare class AssetTokenBuilder extends AssetBuilder {
13
13
  sourceRefs?: SourceRef[];
14
14
  ref?: string | PublicKey;
15
15
  link?: string;
16
- tokenYield?: TokenYield;
17
16
  constructor(params: PortfolioAssetTokenParams);
18
17
  tokenAddresses(): string[];
19
18
  getUnderlyings(networkId: NetworkIdType, tokenPrices: TokenPriceMap): PortfolioAsset[];
@@ -18,7 +18,6 @@ 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;
22
21
  }
23
22
  tokenAddresses() {
24
23
  return [this.address];
@@ -44,7 +43,7 @@ class AssetTokenBuilder extends AssetBuilder_1.AssetBuilder {
44
43
  return null;
45
44
  if (!this.alreadyShifted && tokenPrice)
46
45
  amount = amount.dividedBy(Math.pow(10, tokenPrice.decimals));
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() });
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() });
48
47
  }
49
48
  }
50
49
  exports.AssetTokenBuilder = AssetTokenBuilder;
@@ -1 +1 @@
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"}
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,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, TokenYield, UsdValue } from '@sonarwatch/portfolio-core';
3
+ import { CrossLevPosition, IsoLevPosition, PortfolioAssetAttributes, PortfolioElementLabel, PortfolioElementTypeType, SourceRef, 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,7 +70,6 @@ export type PortfolioAssetTokenParams = {
70
70
  sourceRefs?: SourceRef[];
71
71
  ref?: string | PublicKey;
72
72
  link?: string;
73
- tokenYield?: TokenYield;
74
73
  };
75
74
  export type TradeParams = {
76
75
  inputAsset: Omit<PortfolioAssetTokenParams, 'amount'> & {