@sonarwatch/portfolio-plugins 0.9.6 → 0.9.8

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 (87) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +2 -2
  3. package/src/index.js +1 -0
  4. package/src/index.js.map +1 -1
  5. package/src/plugins/aave/helpers.js +4 -0
  6. package/src/plugins/aave/helpers.js.map +1 -1
  7. package/src/plugins/balancer/getV2Fetcher.js +3 -22
  8. package/src/plugins/balancer/getV2Fetcher.js.map +1 -1
  9. package/src/plugins/foo/positionFetcher.js +1 -0
  10. package/src/plugins/foo/positionFetcher.js.map +1 -1
  11. package/src/plugins/goosefx/stakingFetcher.js +3 -1
  12. package/src/plugins/goosefx/stakingFetcher.js.map +1 -1
  13. package/src/plugins/instadapp/abis.d.ts +26 -1
  14. package/src/plugins/instadapp/abis.js +21 -2
  15. package/src/plugins/instadapp/abis.js.map +1 -1
  16. package/src/plugins/instadapp/constants.d.ts +1 -2
  17. package/src/plugins/instadapp/constants.js +17 -4
  18. package/src/plugins/instadapp/constants.js.map +1 -1
  19. package/src/plugins/instadapp/liteJob.js +26 -8
  20. package/src/plugins/instadapp/liteJob.js.map +1 -1
  21. package/src/plugins/jupiter/perpetualFetcher.js +4 -0
  22. package/src/plugins/jupiter/perpetualFetcher.js.map +1 -1
  23. package/src/plugins/lifinity/lockerFetcher.js +1 -1
  24. package/src/plugins/lifinity/lockerFetcher.js.map +1 -1
  25. package/src/plugins/marinade/ticketsFetcher.js +1 -0
  26. package/src/plugins/marinade/ticketsFetcher.js.map +1 -1
  27. package/src/plugins/meteora/constants.d.ts +2 -0
  28. package/src/plugins/meteora/constants.js +3 -1
  29. package/src/plugins/meteora/constants.js.map +1 -1
  30. package/src/plugins/meteora/farmsFetcher.d.ts +3 -0
  31. package/src/plugins/meteora/farmsFetcher.js +107 -0
  32. package/src/plugins/meteora/farmsFetcher.js.map +1 -0
  33. package/src/plugins/meteora/farmsJob.d.ts +3 -0
  34. package/src/plugins/meteora/farmsJob.js +31 -0
  35. package/src/plugins/meteora/farmsJob.js.map +1 -0
  36. package/src/plugins/meteora/filters.d.ts +1 -0
  37. package/src/plugins/meteora/filters.js +11 -1
  38. package/src/plugins/meteora/filters.js.map +1 -1
  39. package/src/plugins/meteora/helpers.d.ts +2 -0
  40. package/src/plugins/meteora/helpers.js +10 -0
  41. package/src/plugins/meteora/helpers.js.map +1 -0
  42. package/src/plugins/meteora/index.js +4 -2
  43. package/src/plugins/meteora/index.js.map +1 -1
  44. package/src/plugins/meteora/struct.d.ts +37 -0
  45. package/src/plugins/meteora/struct.js +36 -1
  46. package/src/plugins/meteora/struct.js.map +1 -1
  47. package/src/plugins/meteora/types.d.ts +24 -0
  48. package/src/plugins/meteora/types.js +3 -0
  49. package/src/plugins/meteora/types.js.map +1 -0
  50. package/src/plugins/orca/lpTokensJob.js +55 -64
  51. package/src/plugins/orca/lpTokensJob.js.map +1 -1
  52. package/src/plugins/paraswap/stakingFetcher.js +3 -2
  53. package/src/plugins/paraswap/stakingFetcher.js.map +1 -1
  54. package/src/plugins/rocket-pool/positionFetcher.js +2 -0
  55. package/src/plugins/rocket-pool/positionFetcher.js.map +1 -1
  56. package/src/plugins/stargate/getVoteTokensFetcher.js +3 -1
  57. package/src/plugins/stargate/getVoteTokensFetcher.js.map +1 -1
  58. package/src/plugins/tokens/fetchers/aptos-nfts.js +1 -0
  59. package/src/plugins/tokens/fetchers/aptos-nfts.js.map +1 -1
  60. package/src/plugins/tokens/fetchers/evms/getEvmLpFetcher.d.ts +3 -0
  61. package/src/plugins/tokens/fetchers/evms/getEvmLpFetcher.js +77 -0
  62. package/src/plugins/tokens/fetchers/evms/getEvmLpFetcher.js.map +1 -0
  63. package/src/plugins/tokens/fetchers/evms/index.js +2 -0
  64. package/src/plugins/tokens/fetchers/evms/index.js.map +1 -1
  65. package/src/plugins/tokens/fetchers/sei.js +1 -0
  66. package/src/plugins/tokens/fetchers/sei.js.map +1 -1
  67. package/src/plugins/tokens/fetchers/solana-cnfts.js +1 -0
  68. package/src/plugins/tokens/fetchers/solana-cnfts.js.map +1 -1
  69. package/src/plugins/tokens/fetchers/solana-nfts.js +1 -0
  70. package/src/plugins/tokens/fetchers/solana-nfts.js.map +1 -1
  71. package/src/plugins/tokens/fetchers/solana.js +2 -2
  72. package/src/plugins/tokens/fetchers/solana.js.map +1 -1
  73. package/src/plugins/tokens/fetchers/sui-nfts.js +1 -0
  74. package/src/plugins/tokens/fetchers/sui-nfts.js.map +1 -1
  75. package/src/plugins/tokens/fetchers/sui.js +2 -2
  76. package/src/plugins/tokens/fetchers/sui.js.map +1 -1
  77. package/src/plugins/tokens/helpers.d.ts +3 -2
  78. package/src/plugins/tokens/helpers.js +8 -8
  79. package/src/plugins/tokens/helpers.js.map +1 -1
  80. package/src/utils/evm/getLiquidity.d.ts +2 -0
  81. package/src/utils/evm/getLiquidity.js +26 -0
  82. package/src/utils/evm/getLiquidity.js.map +1 -0
  83. package/src/utils/misc/constants.d.ts +1 -0
  84. package/src/utils/misc/constants.js +2 -1
  85. package/src/utils/misc/constants.js.map +1 -1
  86. package/src/utils/misc/tokenPriceToAssetToken.js +1 -0
  87. package/src/utils/misc/tokenPriceToAssetToken.js.map +1 -1
@@ -0,0 +1,107 @@
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 portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
+ const constants_1 = require("./constants");
17
+ const clients_1 = require("../../utils/clients");
18
+ const solana_1 = require("../../utils/solana");
19
+ const struct_1 = require("./struct");
20
+ const getTokensPricesMap_1 = __importDefault(require("../../utils/misc/getTokensPricesMap"));
21
+ const tokenPriceToAssetTokens_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetTokens"));
22
+ const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
23
+ const helpers_1 = require("./helpers");
24
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
25
+ const client = (0, clients_1.getClientSolana)();
26
+ const farmsInfo = yield cache.getItem(constants_1.farmsKey, {
27
+ prefix: constants_1.platformId,
28
+ networkId: portfolio_core_1.NetworkId.solana,
29
+ });
30
+ if (!farmsInfo)
31
+ return [];
32
+ const farmById = new Map();
33
+ const farmsMint = [];
34
+ farmsInfo.forEach((farm) => {
35
+ farmById.set(farm.pubkey, farm);
36
+ farmsMint.push(farm.pubkey);
37
+ });
38
+ const farmingAccountsAddresses = (0, helpers_1.getStakingAccounts)(owner, farmsMint);
39
+ const farmingAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, struct_1.farmAccountStruct, farmingAccountsAddresses);
40
+ const tokenPriceById = yield (0, getTokensPricesMap_1.default)(farmsInfo.map((f) => [f.stakingMint, f.rewardAMint, f.rewardBMint]).flat(), portfolio_core_1.NetworkId.solana, cache);
41
+ const liquidities = [];
42
+ for (const farmingAccount of farmingAccounts) {
43
+ if (!farmingAccount)
44
+ continue;
45
+ const rewardAssets = [];
46
+ const assets = [];
47
+ const { balanceStaked, rewardAPerTokenPending, rewardBPerTokenPending } = farmingAccount;
48
+ const farmInfo = farmById.get(farmingAccount.pool.toString());
49
+ if (!farmInfo)
50
+ continue;
51
+ const { stakingMint, rewardAMint, rewardBMint } = farmInfo;
52
+ const [poolTokenPrice, rewardATokenPrice, rewardBTokenPrice] = [
53
+ tokenPriceById.get(stakingMint),
54
+ tokenPriceById.get(rewardAMint),
55
+ tokenPriceById.get(rewardBMint),
56
+ ];
57
+ if (!poolTokenPrice)
58
+ continue;
59
+ const amount = balanceStaked.dividedBy(Math.pow(10, poolTokenPrice.decimals));
60
+ assets.push(...(0, tokenPriceToAssetTokens_1.default)(poolTokenPrice.address, amount.toNumber(), portfolio_core_1.NetworkId.solana, poolTokenPrice));
61
+ if (rewardAPerTokenPending.isGreaterThan(0) && rewardATokenPrice) {
62
+ const rewardAmount = rewardAPerTokenPending
63
+ .dividedBy(Math.pow(10, rewardATokenPrice.decimals))
64
+ .toNumber();
65
+ rewardAssets.push((0, tokenPriceToAssetToken_1.default)(rewardAMint, rewardAmount, portfolio_core_1.NetworkId.solana, rewardATokenPrice));
66
+ }
67
+ if (rewardBPerTokenPending.isGreaterThan(0) && rewardBTokenPrice) {
68
+ const rewardAmount = rewardBPerTokenPending
69
+ .dividedBy(Math.pow(10, rewardBTokenPrice.decimals))
70
+ .toNumber();
71
+ rewardAssets.push((0, tokenPriceToAssetToken_1.default)(rewardBMint, rewardAmount, portfolio_core_1.NetworkId.solana, rewardBTokenPrice));
72
+ }
73
+ const assetsValue = (0, portfolio_core_1.getUsdValueSum)(assets.map((a) => a.value));
74
+ const rewardAssetsValue = (0, portfolio_core_1.getUsdValueSum)(rewardAssets.map((r) => r.value));
75
+ const value = (0, portfolio_core_1.getUsdValueSum)([assetsValue, rewardAssetsValue]);
76
+ const liquidity = {
77
+ value,
78
+ assets,
79
+ assetsValue,
80
+ rewardAssets,
81
+ rewardAssetsValue,
82
+ yields: [],
83
+ };
84
+ liquidities.push(liquidity);
85
+ }
86
+ if (liquidities.length === 0)
87
+ return [];
88
+ return [
89
+ {
90
+ networkId: portfolio_core_1.NetworkId.solana,
91
+ platformId: constants_1.platformId,
92
+ type: portfolio_core_1.PortfolioElementType.liquidity,
93
+ label: 'Farming',
94
+ value: (0, portfolio_core_1.getUsdValueSum)(liquidities.map((l) => l.value)),
95
+ data: {
96
+ liquidities,
97
+ },
98
+ },
99
+ ];
100
+ });
101
+ const fetcher = {
102
+ id: `${constants_1.platformId}-farms`,
103
+ networkId: portfolio_core_1.NetworkId.solana,
104
+ executor,
105
+ };
106
+ exports.default = fetcher;
107
+ //# sourceMappingURL=farmsFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"farmsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/farmsFetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,31 @@
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 clients_1 = require("../../utils/clients");
14
+ const solana_1 = require("../../utils/solana");
15
+ const filters_1 = require("../../utils/solana/filters");
16
+ const constants_1 = require("./constants");
17
+ const struct_1 = require("./struct");
18
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const client = (0, clients_1.getClientSolana)();
20
+ const farms = yield (0, solana_1.getParsedProgramAccounts)(client, struct_1.farmStruct, constants_1.farmProgramId, (0, filters_1.dataSizeFilter)(502));
21
+ yield cache.setItem(constants_1.farmsKey, farms, {
22
+ prefix: constants_1.platformId,
23
+ networkId: portfolio_core_1.NetworkId.solana,
24
+ });
25
+ });
26
+ const job = {
27
+ id: `${constants_1.platformId}-farms`,
28
+ executor,
29
+ };
30
+ exports.default = job;
31
+ //# sourceMappingURL=farmsJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"farmsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/farmsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,iDAAsD;AACtD,+CAA8D;AAC9D,wDAA4D;AAC5D,2CAAkE;AAClE,qCAAsC;AAEtC,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,KAAK,GAAG,MAAM,IAAA,iCAAwB,EAC1C,MAAM,EACN,mBAAU,EACV,yBAAa,EACb,IAAA,wBAAc,EAAC,GAAG,CAAC,CACpB,CAAC;IAEF,MAAM,KAAK,CAAC,OAAO,CAAC,oBAAQ,EAAE,KAAK,EAAE;QACnC,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,QAAQ;IACzB,QAAQ;CACT,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -2,3 +2,4 @@ import { GetProgramAccountsFilter } from '@solana/web3.js';
2
2
  export declare const vaultsFilters: GetProgramAccountsFilter[];
3
3
  export declare const constantPoolsFilters: GetProgramAccountsFilter[];
4
4
  export declare const stablePoolsFilters: GetProgramAccountsFilter[];
5
+ export declare const farmAccountFilter: (owner: string) => GetProgramAccountsFilter[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stablePoolsFilters = exports.constantPoolsFilters = exports.vaultsFilters = void 0;
3
+ exports.farmAccountFilter = exports.stablePoolsFilters = exports.constantPoolsFilters = exports.vaultsFilters = void 0;
4
4
  exports.vaultsFilters = [{ dataSize: 10240 }];
5
5
  exports.constantPoolsFilters = [
6
6
  { dataSize: 944 },
@@ -8,4 +8,14 @@ exports.constantPoolsFilters = [
8
8
  exports.stablePoolsFilters = [
9
9
  { dataSize: 1387 },
10
10
  ];
11
+ const farmAccountFilter = (owner) => [
12
+ { dataSize: 200 },
13
+ {
14
+ memcmp: {
15
+ offset: 40,
16
+ bytes: owner,
17
+ },
18
+ },
19
+ ];
20
+ exports.farmAccountFilter = farmAccountFilter;
11
21
  //# sourceMappingURL=filters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/filters.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAA+B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAElE,QAAA,oBAAoB,GAA+B;IAC9D,EAAE,QAAQ,EAAE,GAAG,EAAE;CAClB,CAAC;AAEW,QAAA,kBAAkB,GAA+B;IAC5D,EAAE,QAAQ,EAAE,IAAI,EAAE;CACnB,CAAC"}
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/filters.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAA+B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAElE,QAAA,oBAAoB,GAA+B;IAC9D,EAAE,QAAQ,EAAE,GAAG,EAAE;CAClB,CAAC;AAEW,QAAA,kBAAkB,GAA+B;IAC5D,EAAE,QAAQ,EAAE,IAAI,EAAE;CACnB,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAC/B,KAAa,EACe,EAAE,CAAC;IAC/B,EAAE,QAAQ,EAAE,GAAG,EAAE;IACjB;QACE,MAAM,EAAE;YACN,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,KAAK;SACb;KACF;CACF,CAAC;AAVW,QAAA,iBAAiB,qBAU5B"}
@@ -0,0 +1,2 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ export declare function getStakingAccounts(owner: string, farms: string[]): PublicKey[];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStakingAccounts = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const constants_1 = require("./constants");
6
+ function getStakingAccounts(owner, farms) {
7
+ return farms.map((farm) => web3_js_1.PublicKey.findProgramAddressSync([new web3_js_1.PublicKey(owner).toBuffer(), new web3_js_1.PublicKey(farm).toBuffer()], constants_1.farmProgramId)[0]);
8
+ }
9
+ exports.getStakingAccounts = getStakingAccounts;
10
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/helpers.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,2CAA4C;AAE5C,SAAgB,kBAAkB,CAChC,KAAa,EACb,KAAe;IAEf,OAAO,KAAK,CAAC,GAAG,CACd,CAAC,IAAI,EAAE,EAAE,CACP,mBAAS,CAAC,sBAAsB,CAC9B,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,EACjE,yBAAa,CACd,CAAC,CAAC,CAAC,CACP,CAAC;AACJ,CAAC;AAXD,gDAWC"}
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.fetchers = exports.jobs = exports.platforms = void 0;
7
7
  const vaultsJob_1 = __importDefault(require("./vaultsJob"));
8
8
  const poolsJob_1 = __importDefault(require("./poolsJob"));
9
+ const farmsJob_1 = __importDefault(require("./farmsJob"));
9
10
  const constants_1 = require("./constants");
11
+ const farmsFetcher_1 = __importDefault(require("./farmsFetcher"));
10
12
  exports.platforms = [constants_1.meteoraPlatform];
11
- exports.jobs = [vaultsJob_1.default, poolsJob_1.default];
12
- exports.fetchers = [];
13
+ exports.jobs = [vaultsJob_1.default, poolsJob_1.default, farmsJob_1.default];
14
+ exports.fetchers = [farmsFetcher_1.default];
13
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/index.ts"],"names":[],"mappings":";;;;;;AACA,4DAAoC;AACpC,0DAAkC;AAGlC,2CAA8C;AAEjC,QAAA,SAAS,GAAe,CAAC,2BAAe,CAAC,CAAC;AAC1C,QAAA,IAAI,GAAU,CAAC,mBAAS,EAAE,kBAAQ,CAAC,CAAC;AACpC,QAAA,QAAQ,GAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/index.ts"],"names":[],"mappings":";;;;;;AACA,4DAAoC;AACpC,0DAAkC;AAClC,0DAAkC;AAGlC,2CAA8C;AAC9C,kEAA0C;AAE7B,QAAA,SAAS,GAAe,CAAC,2BAAe,CAAC,CAAC;AAC1C,QAAA,IAAI,GAAU,CAAC,mBAAS,EAAE,kBAAQ,EAAE,kBAAQ,CAAC,CAAC;AAC9C,QAAA,QAAQ,GAAc,CAAC,sBAAY,CAAC,CAAC"}
@@ -95,3 +95,40 @@ export type PoolState = {
95
95
  curveType: CurveType;
96
96
  };
97
97
  export declare const poolStateStruct: FixableBeetStruct<PoolState, Partial<PoolState>>;
98
+ export type Farm = {
99
+ buffer: Buffer;
100
+ authority: PublicKey;
101
+ paused: boolean;
102
+ stakingMint: PublicKey;
103
+ stakingVault: PublicKey;
104
+ rewardAMint: PublicKey;
105
+ rewardAVault: PublicKey;
106
+ rewardBMint: PublicKey;
107
+ rewardBVault: PublicKey;
108
+ rewardDuration: BigNumber;
109
+ rewardDurationEnd: BigNumber;
110
+ lastUpdateTime: BigNumber;
111
+ rewardARate: BigNumber;
112
+ rewardBRate: BigNumber;
113
+ rewardAPerTokenStored: BigNumber;
114
+ rewardBPerTokenStored: BigNumber;
115
+ userStakeCount: number;
116
+ funders: PublicKey[];
117
+ rewardARateU128: BigNumber;
118
+ rewardBRateU128: BigNumber;
119
+ poolBump: number;
120
+ totalStaked: BigNumber;
121
+ };
122
+ export declare const farmStruct: BeetStruct<Farm, Partial<Farm>>;
123
+ export type FarmAccount = {
124
+ buffer: Buffer;
125
+ pool: PublicKey;
126
+ owner: PublicKey;
127
+ rewardAPerTokenComplete: BigNumber;
128
+ rewardBPerTokenComplete: BigNumber;
129
+ rewardAPerTokenPending: BigNumber;
130
+ rewardBPerTokenPending: BigNumber;
131
+ balanceStaked: BigNumber;
132
+ nonce: number;
133
+ };
134
+ export declare const farmAccountStruct: BeetStruct<FarmAccount, Partial<FarmAccount>>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.poolStateStruct = exports.poolFeesStruct = exports.PoolType = exports.CurveType = exports.stableParamsStruct = exports.TokenMultiplierStruct = exports.depegStruct = exports.DepegType = exports.paddingStruct = exports.vaultStruct = exports.lockedProfitTrackerStruct = exports.vaultBumpsStruct = void 0;
3
+ exports.farmAccountStruct = exports.farmStruct = exports.poolStateStruct = exports.poolFeesStruct = exports.PoolType = exports.CurveType = exports.stableParamsStruct = exports.TokenMultiplierStruct = exports.depegStruct = exports.DepegType = exports.paddingStruct = exports.vaultStruct = exports.lockedProfitTrackerStruct = exports.vaultBumpsStruct = void 0;
4
4
  const beet_1 = require("@metaplex-foundation/beet");
5
5
  const beet_solana_1 = require("@metaplex-foundation/beet-solana");
6
6
  const solana_1 = require("../../utils/solana");
@@ -91,4 +91,39 @@ exports.poolStateStruct = new beet_1.FixableBeetStruct([
91
91
  ['padding', exports.paddingStruct],
92
92
  ['curveType', beet_1.u8],
93
93
  ], (args) => args);
94
+ exports.farmStruct = new beet_1.BeetStruct([
95
+ ['buffer', (0, solana_1.blob)(8)],
96
+ ['authority', beet_solana_1.publicKey],
97
+ ['paused', beet_1.bool],
98
+ ['stakingMint', beet_solana_1.publicKey],
99
+ ['stakingVault', beet_solana_1.publicKey],
100
+ ['rewardAMint', beet_solana_1.publicKey],
101
+ ['rewardAVault', beet_solana_1.publicKey],
102
+ ['rewardBMint', beet_solana_1.publicKey],
103
+ ['rewardBVault', beet_solana_1.publicKey],
104
+ ['rewardDuration', solana_1.u64],
105
+ ['rewardDurationEnd', solana_1.u64],
106
+ ['lastUpdateTime', solana_1.u64],
107
+ ['rewardARate', solana_1.u64],
108
+ ['rewardBRate', solana_1.u64],
109
+ ['rewardAPerTokenStored', solana_1.u128],
110
+ ['rewardBPerTokenStored', solana_1.u128],
111
+ ['userStakeCount', beet_1.u32],
112
+ ['funders', (0, beet_1.uniformFixedSizeArray)(beet_solana_1.publicKey, 3)],
113
+ ['rewardARateU128', solana_1.u128],
114
+ ['rewardBRateU128', solana_1.u128],
115
+ ['poolBump', beet_1.u8],
116
+ ['totalStaked', solana_1.u64],
117
+ ], (args) => args);
118
+ exports.farmAccountStruct = new beet_1.BeetStruct([
119
+ ['buffer', (0, solana_1.blob)(8)],
120
+ ['pool', beet_solana_1.publicKey],
121
+ ['owner', beet_solana_1.publicKey],
122
+ ['rewardAPerTokenComplete', solana_1.u128],
123
+ ['rewardBPerTokenComplete', solana_1.u128],
124
+ ['rewardAPerTokenPending', solana_1.u64],
125
+ ['rewardBPerTokenPending', solana_1.u64],
126
+ ['balanceStaked', solana_1.u64],
127
+ ['nonce', beet_1.u8],
128
+ ], (args) => args);
94
129
  //# sourceMappingURL=struct.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/struct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/struct.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export type Farm = {
2
+ pubkey: string;
3
+ authority: string;
4
+ paused: boolean;
5
+ stakingMint: string;
6
+ stakingVault: string;
7
+ rewardAMint: string;
8
+ rewardAVault: string;
9
+ rewardBMint: string;
10
+ rewardBVault: string;
11
+ rewardDuration: string;
12
+ rewardDurationEnd: string;
13
+ lastUpdateTime: string;
14
+ rewardARate: string;
15
+ rewardBRate: string;
16
+ rewardAPerTokenStored: string;
17
+ rewardBPerTokenStored: string;
18
+ userStakeCount: number;
19
+ funders: string[];
20
+ rewardARateU128: string;
21
+ rewardBRateU128: string;
22
+ poolBump: number;
23
+ totalStaked: string;
24
+ };
@@ -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/meteora/types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -21,34 +44,31 @@ const oldLiquidities_1 = require("./structs/oldLiquidities");
21
44
  const solana_1 = require("../../utils/solana");
22
45
  const fetchTokenSupplyAndDecimals_1 = require("../../utils/solana/fetchTokenSupplyAndDecimals");
23
46
  const runInBatch_1 = __importDefault(require("../../utils/misc/runInBatch"));
47
+ const computeAndStoreLpPrice_1 = __importStar(require("../../utils/misc/computeAndStoreLpPrice"));
48
+ const getTokensPricesMap_1 = __importDefault(require("../../utils/misc/getTokensPricesMap"));
24
49
  const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
25
50
  const client = (0, clients_1.getClientSolana)();
26
51
  const farmsAccounts = yield (0, solana_1.getParsedProgramAccounts)(client, oldLiquidities_1.aquafarmStruct, constants_1.aquafarmsProgram, filters_1.aquafarmFilters);
27
52
  const poolsAccounts = yield (0, solana_1.getParsedProgramAccounts)(client, oldLiquidities_1.poolInfoStruct, constants_1.poolsProgram, filters_1.poolsFilters);
28
- const mints = new Set();
29
- poolsAccounts.forEach((p) => mints.add(p.mintA.toString()).add(p.mintB.toString()));
30
- farmsAccounts.forEach((a) => mints.add(a.baseTokenMint.toString()));
31
- const tokenPriceResults = yield (0, runInBatch_1.default)([...Array.from(mints)].map((mint) => () => cache.getTokenPrice(mint, portfolio_core_1.NetworkId.solana)));
32
- const tokenPrices = new Map();
33
- tokenPriceResults.forEach((r) => {
34
- if (r.status === 'rejected')
35
- return;
36
- if (!r.value)
37
- return;
38
- tokenPrices.set(r.value.address, r.value);
53
+ const mints = [];
54
+ const tokensAccountAddresses = [];
55
+ farmsAccounts.forEach((farm) => {
56
+ mints.push(farm.baseTokenMint.toString());
57
+ tokensAccountAddresses.push(farm.baseTokenVault);
39
58
  });
40
- const tokenAddresses = [
41
- ...farmsAccounts.map((a) => a.baseTokenVault),
42
- ...poolsAccounts.map((p) => [p.tokenAccountA, p.tokenAccountB]).flat(),
43
- ];
44
- const tokensAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, solana_1.tokenAccountStruct, tokenAddresses);
59
+ poolsAccounts.forEach((pool) => {
60
+ mints.push(...[pool.mintA.toString(), pool.mintB.toString()]);
61
+ tokensAccountAddresses.push(...[pool.tokenAccountA, pool.tokenAccountB]);
62
+ });
63
+ const tokenPrices = yield (0, getTokensPricesMap_1.default)(mints, portfolio_core_1.NetworkId.solana, cache);
64
+ const tokensAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, solana_1.tokenAccountStruct, tokensAccountAddresses);
45
65
  const tokenAccountByAddress = new Map();
46
66
  tokensAccounts.forEach((tAccount) => {
47
67
  if (!tAccount)
48
68
  return;
49
69
  tokenAccountByAddress.set(tAccount.pubkey.toString(), tAccount);
50
70
  });
51
- const batchResult = yield (0, runInBatch_1.default)(poolsAccounts.map((farm) => () => (0, fetchTokenSupplyAndDecimals_1.fetchTokenSupplyAndDecimals)(farm.tokenPool, client, 0)));
71
+ const batchResult = yield (0, runInBatch_1.default)(poolsAccounts.map((pool) => () => (0, fetchTokenSupplyAndDecimals_1.fetchTokenSupplyAndDecimals)(pool.tokenPool, client, 0)));
52
72
  const poolTokenInfoByAddress = new Map();
53
73
  batchResult.forEach((r, index) => {
54
74
  if (r.status === 'rejected')
@@ -57,7 +77,6 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
57
77
  return;
58
78
  poolTokenInfoByAddress.set(poolsAccounts[index].tokenPool.toString(), r.value);
59
79
  });
60
- const poolsPromises = [];
61
80
  for (const poolAccount of poolsAccounts) {
62
81
  if ([
63
82
  poolAccount.tokenAccountA.toString(),
@@ -68,8 +87,8 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
68
87
  const lpSupplyAndDecimals = poolTokenInfoByAddress.get(lpMint.toString());
69
88
  if (!lpSupplyAndDecimals)
70
89
  continue;
71
- const lpSupply = lpSupplyAndDecimals.supply;
72
- if (lpSupply === 0)
90
+ const lpSupply = new bignumber_js_1.default(lpSupplyAndDecimals.supply).times(Math.pow(10, lpSupplyAndDecimals.decimals));
91
+ if (lpSupply.isZero())
73
92
  continue;
74
93
  const poolCoinTokenAccount = tokenAccountByAddress.get(poolAccount.tokenAccountA.toString());
75
94
  const poolPcTokenAccount = tokenAccountByAddress.get(poolAccount.tokenAccountB.toString());
@@ -79,50 +98,22 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
79
98
  const pcToken = tokenPrices.get(poolAccount.mintB.toString());
80
99
  if (!coinToken || !pcToken)
81
100
  continue;
82
- const coinDecimals = coinToken.decimals;
83
- const pcDecimals = pcToken.decimals;
84
101
  const coinAmountWei = new bignumber_js_1.default(poolCoinTokenAccount.amount.toString());
85
102
  const pcAmountWei = new bignumber_js_1.default(poolPcTokenAccount.amount.toString());
86
- const coinAmount = coinAmountWei
87
- .dividedBy(new bignumber_js_1.default(Math.pow(10, coinDecimals)))
88
- .toNumber();
89
- const pcAmount = pcAmountWei
90
- .dividedBy(new bignumber_js_1.default(Math.pow(10, pcDecimals)))
91
- .toNumber();
92
- const coinValueLocked = coinAmount * coinToken.price;
93
- const pcValueLocked = pcAmount * pcToken.price;
94
103
  const lpDecimals = lpSupplyAndDecimals.decimals;
95
- const tvl = coinValueLocked + pcValueLocked;
96
- const price = tvl / lpSupply;
97
- poolsPromises.push(cache.setTokenPriceSource({
98
- networkId: portfolio_core_1.NetworkId.solana,
99
- elementName: 'Standard Pools (deprecated)',
100
- platformId: constants_1.platformId,
101
- id: constants_1.platformId,
102
- weight: 1,
103
- address: lpMint.toString(),
104
- price,
105
- decimals: lpDecimals,
106
- underlyings: [
107
- {
108
- networkId: portfolio_core_1.NetworkId.solana,
109
- address: coinToken.address,
110
- decimals: coinToken.decimals,
111
- price: coinToken.price,
112
- amountPerLp: coinAmount / lpSupply,
113
- },
114
- {
115
- networkId: portfolio_core_1.NetworkId.solana,
116
- address: pcToken.address,
117
- decimals: pcToken.decimals,
118
- price: pcToken.price,
119
- amountPerLp: pcAmount / lpSupply,
120
- },
121
- ],
122
- timestamp: Date.now(),
123
- }));
104
+ const poolData = {
105
+ id: lpMint.toString(),
106
+ lpDecimals,
107
+ mintTokenX: poolAccount.mintA.toString(),
108
+ mintTokenY: poolAccount.mintB.toString(),
109
+ reserveTokenX: coinAmountWei,
110
+ reserveTokenY: pcAmountWei,
111
+ supply: lpSupply,
112
+ decimalX: coinToken.decimals,
113
+ decimalY: pcToken.decimals,
114
+ };
115
+ yield (0, computeAndStoreLpPrice_1.default)(cache, poolData, portfolio_core_1.NetworkId.solana, constants_1.platformId);
124
116
  }
125
- yield Promise.allSettled(poolsPromises);
126
117
  const tokensSupDecResult = yield (0, runInBatch_1.default)(farmsAccounts.map((farm) => () => (0, fetchTokenSupplyAndDecimals_1.fetchTokenSupplyAndDecimals)(farm.farmTokenMint, client, 0)));
127
118
  const tokensSuppliesAndDecimalsByMint = new Map();
128
119
  tokensSupDecResult.forEach((r, index) => {
@@ -132,7 +123,6 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
132
123
  return;
133
124
  tokensSuppliesAndDecimalsByMint.set(farmsAccounts[index].farmTokenMint.toString(), r.value);
134
125
  });
135
- const farmsPromises = [];
136
126
  for (let i = 0; i < farmsAccounts.length; i += 1) {
137
127
  const aquafarm = farmsAccounts[i];
138
128
  const baseMint = aquafarm.baseTokenMint.toString();
@@ -153,8 +143,10 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
153
143
  .div(Math.pow(10, baseToken.decimals))
154
144
  .toNumber();
155
145
  const baseVaultValue = baseVaultAmount * baseToken.price;
146
+ if (baseVaultValue < computeAndStoreLpPrice_1.minimumLiquidity.toNumber())
147
+ continue;
156
148
  const price = baseVaultValue / farmSupply;
157
- farmsPromises.push(cache.setTokenPriceSource({
149
+ yield cache.setTokenPriceSource({
158
150
  id: constants_1.platformId,
159
151
  elementName: 'Aquafarms (deprecated)',
160
152
  weight: 1,
@@ -165,9 +157,8 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
165
157
  price,
166
158
  underlyings: baseToken.underlyings,
167
159
  timestamp: Date.now(),
168
- }));
160
+ });
169
161
  }
170
- yield Promise.allSettled(farmsPromises);
171
162
  });
172
163
  const job = {
173
164
  id: `${constants_1.platformId}-lp-tokens`,
@@ -1 +1 @@
1
- {"version":3,"file":"lpTokensJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/orca/lpTokensJob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lpTokensJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/orca/lpTokensJob.ts"],"names":[],"mappings":"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"}
@@ -78,8 +78,9 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
78
78
  status === types_1.WithdrawStatus.UNLOCKING &&
79
79
  unlockingBalances[j] > BigInt(0)) {
80
80
  const unlockingAmount = new bignumber_js_1.default(unlockingBalances[j].toString()).dividedBy(Math.pow(10, pspTokenPrice.decimals));
81
- const unlockEpoch = Number(unlockingTs[j]);
82
- unlockingAssets.push(Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(pspTokenPrice.address, unlockingAmount.toNumber(), portfolio_core_1.NetworkId.ethereum, pspTokenPrice)), { lockedUntil: unlockEpoch }));
81
+ unlockingAssets.push(Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(pspTokenPrice.address, unlockingAmount.toNumber(), portfolio_core_1.NetworkId.ethereum, pspTokenPrice)), { attributes: {
82
+ lockedUntil: Number(unlockingTs[j]),
83
+ } }));
83
84
  }
84
85
  }
85
86
  const lockedAssets = [];