@sonarwatch/portfolio-plugins 0.4.34 → 0.4.36

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 (72) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/package.json +2 -2
  3. package/src/generators/fetcher/generator.js +5 -2
  4. package/src/generators/fetcher/generator.js.map +1 -1
  5. package/src/generators/helpers.d.ts +3 -0
  6. package/src/generators/helpers.js +19 -1
  7. package/src/generators/helpers.js.map +1 -1
  8. package/src/generators/job/generator.js +5 -2
  9. package/src/generators/job/generator.js.map +1 -1
  10. package/src/generators/plugin/generator.js +3 -18
  11. package/src/generators/plugin/generator.js.map +1 -1
  12. package/src/index.js +5 -1
  13. package/src/index.js.map +1 -1
  14. package/src/platforms.d.ts +1 -0
  15. package/src/platforms.js +6 -1
  16. package/src/platforms.js.map +1 -1
  17. package/src/plugins/orca/clmmPositionsFetcher.d.ts +3 -0
  18. package/src/plugins/orca/clmmPositionsFetcher.js +139 -0
  19. package/src/plugins/orca/clmmPositionsFetcher.js.map +1 -0
  20. package/src/plugins/orca/constants.d.ts +8 -0
  21. package/src/plugins/orca/constants.js +12 -0
  22. package/src/plugins/orca/constants.js.map +1 -0
  23. package/src/plugins/orca/filters.d.ts +3 -0
  24. package/src/plugins/orca/filters.js +12 -0
  25. package/src/plugins/orca/filters.js.map +1 -0
  26. package/src/plugins/orca/helpers.d.ts +17 -0
  27. package/src/plugins/orca/helpers.js +216 -0
  28. package/src/plugins/orca/helpers.js.map +1 -0
  29. package/src/plugins/orca/index.d.ts +3 -0
  30. package/src/plugins/orca/index.js +12 -0
  31. package/src/plugins/orca/index.js.map +1 -0
  32. package/src/plugins/orca/lpTokensJob.d.ts +3 -0
  33. package/src/plugins/orca/lpTokensJob.js +103 -0
  34. package/src/plugins/orca/lpTokensJob.js.map +1 -0
  35. package/src/plugins/orca/structs/aquafarms.d.ts +37 -0
  36. package/src/plugins/orca/structs/aquafarms.js +37 -0
  37. package/src/plugins/orca/structs/aquafarms.js.map +1 -0
  38. package/src/plugins/orca/structs/whirlpool.d.ts +59 -0
  39. package/src/plugins/orca/structs/whirlpool.js +53 -0
  40. package/src/plugins/orca/structs/whirlpool.js.map +1 -0
  41. package/src/plugins/orca/whirlpoolsJob.d.ts +3 -0
  42. package/src/plugins/orca/whirlpoolsJob.js +36 -0
  43. package/src/plugins/orca/whirlpoolsJob.js.map +1 -0
  44. package/src/plugins/raydium/clmmPositionsFetcher.d.ts +3 -0
  45. package/src/plugins/raydium/clmmPositionsFetcher.js +110 -0
  46. package/src/plugins/raydium/clmmPositionsFetcher.js.map +1 -0
  47. package/src/plugins/raydium/constants.d.ts +2 -0
  48. package/src/plugins/raydium/constants.js +3 -1
  49. package/src/plugins/raydium/constants.js.map +1 -1
  50. package/src/plugins/raydium/filters.js +3 -3
  51. package/src/plugins/raydium/filters.js.map +1 -1
  52. package/src/plugins/raydium/helpers.d.ts +40 -0
  53. package/src/plugins/raydium/helpers.js +280 -0
  54. package/src/plugins/raydium/helpers.js.map +1 -0
  55. package/src/plugins/raydium/index.js +2 -1
  56. package/src/plugins/raydium/index.js.map +1 -1
  57. package/src/plugins/raydium/lpTokensJob.js +7 -13
  58. package/src/plugins/raydium/lpTokensJob.js.map +1 -1
  59. package/src/plugins/raydium/{structs.d.ts → structs/amms.d.ts} +0 -44
  60. package/src/plugins/raydium/{structs.js → structs/amms.js} +3 -43
  61. package/src/plugins/raydium/structs/amms.js.map +1 -0
  62. package/src/plugins/raydium/structs/clmms.d.ts +80 -0
  63. package/src/plugins/raydium/structs/clmms.js +79 -0
  64. package/src/plugins/raydium/structs/clmms.js.map +1 -0
  65. package/src/plugins/raydium/structs/openOrders.d.ts +47 -0
  66. package/src/plugins/raydium/structs/openOrders.js +47 -0
  67. package/src/plugins/raydium/structs/openOrders.js.map +1 -0
  68. package/src/plugins/solend/obligationsFetcher.js +2 -2
  69. package/src/plugins/solend/obligationsFetcher.js.map +1 -1
  70. package/src/plugins/solend/reservesJob.js +3 -1
  71. package/src/plugins/solend/reservesJob.js.map +1 -1
  72. package/src/plugins/raydium/structs.js.map +0 -1
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getTokenAmountsFromLiquidity = exports.tickIndexToSqrtPriceX64 = exports.tickIndexToSqrtPriceNegative = exports.tickIndexToSqrtPricePositive = exports.signedShiftRight = exports.getYields = void 0;
7
+ /* eslint-disable no-bitwise */
8
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
+ const bn_js_1 = __importDefault(require("bn.js"));
10
+ const decimal_js_1 = __importDefault(require("decimal.js"));
11
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
12
+ function getYields(aquafarm, rewardToken, baseVaultValue) {
13
+ const apr = aquafarm.emissionsPerSecondNumerator
14
+ .div(aquafarm.emissionsPerSecondDenominator)
15
+ .div(Math.pow(10, rewardToken.decimals))
16
+ .times(60 * 60 * 24 * 365)
17
+ .times(rewardToken.price)
18
+ .div(baseVaultValue)
19
+ .times(100)
20
+ .toNumber();
21
+ const yields = [
22
+ {
23
+ mint: rewardToken.address,
24
+ apr,
25
+ apy: (0, portfolio_core_1.aprToApy)(apr),
26
+ },
27
+ ];
28
+ return yields;
29
+ }
30
+ exports.getYields = getYields;
31
+ function signedShiftRight(n0, shiftBy, bitWidth) {
32
+ const twoN0 = n0.toTwos(bitWidth).shrn(shiftBy);
33
+ twoN0.imaskn(bitWidth - shiftBy + 1);
34
+ return twoN0.fromTwos(bitWidth - shiftBy);
35
+ }
36
+ exports.signedShiftRight = signedShiftRight;
37
+ function tickIndexToSqrtPricePositive(tick) {
38
+ let ratio;
39
+ if ((tick & 1) !== 0) {
40
+ ratio = new bn_js_1.default('79232123823359799118286999567');
41
+ }
42
+ else {
43
+ ratio = new bn_js_1.default('79228162514264337593543950336');
44
+ }
45
+ if ((tick & 2) !== 0) {
46
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('79236085330515764027303304731')), 96, 256);
47
+ }
48
+ if ((tick & 4) !== 0) {
49
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('79244008939048815603706035061')), 96, 256);
50
+ }
51
+ if ((tick & 8) !== 0) {
52
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('79259858533276714757314932305')), 96, 256);
53
+ }
54
+ if ((tick & 16) !== 0) {
55
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('79291567232598584799939703904')), 96, 256);
56
+ }
57
+ if ((tick & 32) !== 0) {
58
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('79355022692464371645785046466')), 96, 256);
59
+ }
60
+ if ((tick & 64) !== 0) {
61
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('79482085999252804386437311141')), 96, 256);
62
+ }
63
+ if ((tick & 128) !== 0) {
64
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('79736823300114093921829183326')), 96, 256);
65
+ }
66
+ if ((tick & 256) !== 0) {
67
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('80248749790819932309965073892')), 96, 256);
68
+ }
69
+ if ((tick & 512) !== 0) {
70
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('81282483887344747381513967011')), 96, 256);
71
+ }
72
+ if ((tick & 1024) !== 0) {
73
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('83390072131320151908154831281')), 96, 256);
74
+ }
75
+ if ((tick & 2048) !== 0) {
76
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('87770609709833776024991924138')), 96, 256);
77
+ }
78
+ if ((tick & 4096) !== 0) {
79
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('97234110755111693312479820773')), 96, 256);
80
+ }
81
+ if ((tick & 8192) !== 0) {
82
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('119332217159966728226237229890')), 96, 256);
83
+ }
84
+ if ((tick & 16384) !== 0) {
85
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('179736315981702064433883588727')), 96, 256);
86
+ }
87
+ if ((tick & 32768) !== 0) {
88
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('407748233172238350107850275304')), 96, 256);
89
+ }
90
+ if ((tick & 65536) !== 0) {
91
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('2098478828474011932436660412517')), 96, 256);
92
+ }
93
+ if ((tick & 131072) !== 0) {
94
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('55581415166113811149459800483533')), 96, 256);
95
+ }
96
+ if ((tick & 262144) !== 0) {
97
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('38992368544603139932233054999993551')), 96, 256);
98
+ }
99
+ return new bignumber_js_1.default(signedShiftRight(ratio, 32, 256).toString());
100
+ }
101
+ exports.tickIndexToSqrtPricePositive = tickIndexToSqrtPricePositive;
102
+ function tickIndexToSqrtPriceNegative(tickIndex) {
103
+ const tick = Math.abs(tickIndex);
104
+ let ratio;
105
+ if ((tick & 1) !== 0) {
106
+ ratio = new bn_js_1.default('18445821805675392311');
107
+ }
108
+ else {
109
+ ratio = new bn_js_1.default('18446744073709551616');
110
+ }
111
+ if ((tick & 2) !== 0) {
112
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('18444899583751176498')), 64, 256);
113
+ }
114
+ if ((tick & 4) !== 0) {
115
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('18443055278223354162')), 64, 256);
116
+ }
117
+ if ((tick & 8) !== 0) {
118
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('18439367220385604838')), 64, 256);
119
+ }
120
+ if ((tick & 16) !== 0) {
121
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('18431993317065449817')), 64, 256);
122
+ }
123
+ if ((tick & 32) !== 0) {
124
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('18417254355718160513')), 64, 256);
125
+ }
126
+ if ((tick & 64) !== 0) {
127
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('18387811781193591352')), 64, 256);
128
+ }
129
+ if ((tick & 128) !== 0) {
130
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('18329067761203520168')), 64, 256);
131
+ }
132
+ if ((tick & 256) !== 0) {
133
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('18212142134806087854')), 64, 256);
134
+ }
135
+ if ((tick & 512) !== 0) {
136
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('17980523815641551639')), 64, 256);
137
+ }
138
+ if ((tick & 1024) !== 0) {
139
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('17526086738831147013')), 64, 256);
140
+ }
141
+ if ((tick & 2048) !== 0) {
142
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('16651378430235024244')), 64, 256);
143
+ }
144
+ if ((tick & 4096) !== 0) {
145
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('15030750278693429944')), 64, 256);
146
+ }
147
+ if ((tick & 8192) !== 0) {
148
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('12247334978882834399')), 64, 256);
149
+ }
150
+ if ((tick & 16384) !== 0) {
151
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('8131365268884726200')), 64, 256);
152
+ }
153
+ if ((tick & 32768) !== 0) {
154
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('3584323654723342297')), 64, 256);
155
+ }
156
+ if ((tick & 65536) !== 0) {
157
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('696457651847595233')), 64, 256);
158
+ }
159
+ if ((tick & 131072) !== 0) {
160
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('26294789957452057')), 64, 256);
161
+ }
162
+ if ((tick & 262144) !== 0) {
163
+ ratio = signedShiftRight(ratio.mul(new bn_js_1.default('37481735321082')), 64, 256);
164
+ }
165
+ return new bignumber_js_1.default(ratio.toString());
166
+ }
167
+ exports.tickIndexToSqrtPriceNegative = tickIndexToSqrtPriceNegative;
168
+ function tickIndexToSqrtPriceX64(tickIndex) {
169
+ if (tickIndex > 0) {
170
+ return new bignumber_js_1.default(tickIndexToSqrtPricePositive(tickIndex));
171
+ }
172
+ return new bignumber_js_1.default(tickIndexToSqrtPriceNegative(tickIndex));
173
+ }
174
+ exports.tickIndexToSqrtPriceX64 = tickIndexToSqrtPriceX64;
175
+ const fromX64Decimal = (num) => num.times(decimal_js_1.default.pow(2, -64));
176
+ const toX64Decimal = (num) => num.times(decimal_js_1.default.pow(2, 64));
177
+ function getTokenAmountsFromLiquidity(liquidity, currentSqrtPrice, lowerSqrtPrice, upperSqrtPrice, roundUp) {
178
+ const decLiquidity = new decimal_js_1.default(liquidity.toString());
179
+ const currentPrice = new decimal_js_1.default(currentSqrtPrice.toString());
180
+ const lowerPrice = new decimal_js_1.default(lowerSqrtPrice.toString());
181
+ const upperPrice = new decimal_js_1.default(upperSqrtPrice.toString());
182
+ let tokenA;
183
+ let tokenB;
184
+ if (currentSqrtPrice.lt(lowerSqrtPrice)) {
185
+ // x = L * (pb - pa) / (pa * pb)
186
+ tokenA = toX64Decimal(decLiquidity)
187
+ .times(upperPrice.sub(lowerPrice))
188
+ .div(lowerPrice.mul(upperPrice));
189
+ tokenB = new decimal_js_1.default(0);
190
+ }
191
+ else if (currentSqrtPrice.lt(upperSqrtPrice)) {
192
+ // x = L * (pb - p) / (p * pb)
193
+ // y = L * (p - pa)
194
+ tokenA = toX64Decimal(decLiquidity)
195
+ .times(upperPrice.sub(currentPrice))
196
+ .div(currentPrice.mul(upperPrice));
197
+ tokenB = fromX64Decimal(decLiquidity.mul(currentPrice.sub(lowerPrice)));
198
+ }
199
+ else {
200
+ // y = L * (pb - pa)
201
+ tokenA = new decimal_js_1.default(0);
202
+ tokenB = fromX64Decimal(decLiquidity.mul(upperPrice.sub(lowerPrice)));
203
+ }
204
+ if (roundUp) {
205
+ return {
206
+ tokenAmountA: tokenA.ceil().toNumber(),
207
+ tokenAmountB: tokenB.ceil().toNumber(),
208
+ };
209
+ }
210
+ return {
211
+ tokenAmountA: tokenA.floor().toNumber(),
212
+ tokenAmountB: tokenB.floor().toNumber(),
213
+ };
214
+ }
215
+ exports.getTokenAmountsFromLiquidity = getTokenAmountsFromLiquidity;
216
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/orca/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher, Job } from '@sonarwatch/portfolio-core';
2
+ export declare const jobs: Job[];
3
+ export declare const fetchers: Fetcher[];
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fetchers = exports.jobs = void 0;
7
+ // import lpJob from './lpTokensJob';
8
+ const whirlpoolsJob_1 = __importDefault(require("./whirlpoolsJob"));
9
+ const clmmPositionsFetcher_1 = __importDefault(require("./clmmPositionsFetcher"));
10
+ exports.jobs = [whirlpoolsJob_1.default];
11
+ exports.fetchers = [clmmPositionsFetcher_1.default];
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/orca/index.ts"],"names":[],"mappings":";;;;;;AACA,qCAAqC;AACrC,oEAA2C;AAC3C,kFAA0D;AAE7C,QAAA,IAAI,GAAU,CAAC,uBAAY,CAAC,CAAC;AAC7B,QAAA,QAAQ,GAAc,CAAC,8BAAoB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '@sonarwatch/portfolio-core';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,103 @@
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 js_1 = require("@metaplex-foundation/js");
14
+ const constants_1 = require("./constants");
15
+ const filters_1 = require("./filters");
16
+ const clients_1 = require("../../utils/clients");
17
+ const aquafarms_1 = require("./structs/aquafarms");
18
+ const solana_1 = require("../../utils/solana");
19
+ const fetchTokenSupplyAndDecimals_1 = require("../../utils/solana/fetchTokenSupplyAndDecimals");
20
+ // import { getYields } from './helpers';
21
+ const getMultipleAccountsInfoSafe_1 = require("../../utils/solana/getMultipleAccountsInfoSafe");
22
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
23
+ const client = (0, clients_1.getClientSolana)();
24
+ const aquafarmsRes = yield client.getProgramAccounts(constants_1.aquafarmsProgram, {
25
+ filters: filters_1.aquafarmFilters,
26
+ });
27
+ const aquafarms = aquafarmsRes.map((i) => (Object.assign(Object.assign({}, aquafarms_1.aquafarmStruct.deserialize(i.account.data)[0]), { pubkey: i.pubkey })));
28
+ const tokenAccountsToFetch = [
29
+ ...aquafarms.map((a) => a.baseTokenVault),
30
+ ...aquafarms.map((a) => a.rewardTokenVault),
31
+ ];
32
+ const tokenAccountsRes = yield (0, getMultipleAccountsInfoSafe_1.getMultipleAccountsInfoSafe)(client, tokenAccountsToFetch);
33
+ if (!tokenAccountsRes)
34
+ return;
35
+ const tokenAccountsMap = new Map();
36
+ tokenAccountsRes.forEach((tokenAccountRes, i) => {
37
+ if (!tokenAccountRes)
38
+ return;
39
+ const tokenAccount = solana_1.tokenAccountStruct.deserialize(tokenAccountRes.data)[0];
40
+ tokenAccountsMap.set(tokenAccountsToFetch[i].toString(), tokenAccount);
41
+ });
42
+ for (let i = 0; i < aquafarms.length; i += 1) {
43
+ const aquafarm = aquafarms[i];
44
+ const baseMint = aquafarm.baseTokenMint.toString();
45
+ const baseToken = yield cache.getTokenPrice(baseMint, portfolio_core_1.NetworkId.solana);
46
+ if (!baseToken)
47
+ continue;
48
+ const baseVault = tokenAccountsMap.get(aquafarm.baseTokenVault.toString());
49
+ if (!baseVault)
50
+ continue;
51
+ if (baseVault.amount.isZero())
52
+ continue;
53
+ const farmMint = aquafarm.farmTokenMint.toString();
54
+ const tokenSupplyRes = yield (0, fetchTokenSupplyAndDecimals_1.fetchTokenSupplyAndDecimals)(new js_1.PublicKey(farmMint), client, 0);
55
+ if (!tokenSupplyRes)
56
+ continue;
57
+ const { decimals: farmDecimals, supply: farmSupply } = tokenSupplyRes;
58
+ const baseVaultAmount = baseVault.amount
59
+ .div(Math.pow(10, baseToken.decimals))
60
+ .toNumber();
61
+ const baseVaultValue = baseVaultAmount * baseToken.price;
62
+ const price = baseVaultValue / farmSupply;
63
+ // Yields
64
+ // const rewardToken = null;
65
+ // const rewardVault = tokenAccountsMap.get(
66
+ // aquafarm.rewardTokenVault.toString()
67
+ // );
68
+ // if (rewardVault) rewardToken = tokenAccountsMap.get(rewardVault.mint.toString());
69
+ // if (rewardVault)
70
+ // rewardToken = await cache.getTokenPrice(
71
+ // rewardVault.mint.toString(),
72
+ // NetworkId.solana
73
+ // );
74
+ // let yields;
75
+ // if (rewardToken) yields = getYields(aquafarm, rewardToken, baseVaultValue);
76
+ // console.log('constexecutor:JobExecutor= ~ yields:', yields);
77
+ yield cache.setTokenPriceSource({
78
+ id: constants_1.platformId,
79
+ weight: 1,
80
+ address: farmMint.toString(),
81
+ networkId: portfolio_core_1.NetworkId.solana,
82
+ platformId: constants_1.platformId,
83
+ decimals: farmDecimals,
84
+ price,
85
+ underlyings: [
86
+ {
87
+ networkId: portfolio_core_1.NetworkId.solana,
88
+ address: baseToken.address,
89
+ decimals: baseToken.decimals,
90
+ price: baseToken.price,
91
+ amountPerLp: baseVaultAmount / baseVaultValue,
92
+ },
93
+ ],
94
+ timestamp: Date.now(),
95
+ });
96
+ }
97
+ });
98
+ const job = {
99
+ id: `${constants_1.platformId}-lp-tokens`,
100
+ executor,
101
+ };
102
+ exports.default = job;
103
+ //# sourceMappingURL=lpTokensJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lpTokensJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/orca/lpTokensJob.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /// <reference types="node" />
2
+ import { BeetStruct } from '@metaplex-foundation/beet';
3
+ import { PublicKey } from '@metaplex-foundation/js';
4
+ import BigNumber from 'bignumber.js';
5
+ export type AMMV4Info = {
6
+ isInitialized: number;
7
+ accountType: number;
8
+ globalFarm: PublicKey;
9
+ owner: PublicKey;
10
+ baseTokensConverted: BigNumber;
11
+ cumulativeEmissionsCheckpoint: BigNumber;
12
+ };
13
+ export declare const ammV4InfoStruct: BeetStruct<AMMV4Info, Partial<AMMV4Info>>;
14
+ export type UserAquafarm = {
15
+ isInitialized: number;
16
+ accountType: number;
17
+ globalFarm: PublicKey;
18
+ owner: PublicKey;
19
+ baseTokensConverted: BigNumber;
20
+ cumulativeEmissionsCheckpoint: BigNumber;
21
+ };
22
+ export declare const userAquafarmStruct: BeetStruct<UserAquafarm, Partial<UserAquafarm>>;
23
+ export type Aquafarm = {
24
+ buffer: Buffer;
25
+ tokenProgramId: PublicKey;
26
+ emissionsAuthority: PublicKey;
27
+ removeRewardsAuthority: PublicKey;
28
+ baseTokenMint: PublicKey;
29
+ baseTokenVault: PublicKey;
30
+ rewardTokenVault: PublicKey;
31
+ farmTokenMint: PublicKey;
32
+ emissionsPerSecondNumerator: BigNumber;
33
+ emissionsPerSecondDenominator: BigNumber;
34
+ lastUpdatedTimestamp: BigNumber;
35
+ cumulativeEmissionsPerFarmToken: BigNumber;
36
+ };
37
+ export declare const aquafarmStruct: BeetStruct<Aquafarm, Partial<Aquafarm>>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aquafarmStruct = exports.userAquafarmStruct = exports.ammV4InfoStruct = void 0;
4
+ const beet_1 = require("@metaplex-foundation/beet");
5
+ const beet_solana_1 = require("@metaplex-foundation/beet-solana");
6
+ const solana_1 = require("../../../utils/solana");
7
+ exports.ammV4InfoStruct = new beet_1.BeetStruct([
8
+ ['isInitialized', beet_1.u8],
9
+ ['accountType', beet_1.u8],
10
+ ['globalFarm', beet_solana_1.publicKey],
11
+ ['owner', beet_solana_1.publicKey],
12
+ ['baseTokensConverted', solana_1.u64],
13
+ ['cumulativeEmissionsCheckpoint', solana_1.u256],
14
+ ], (args) => args);
15
+ exports.userAquafarmStruct = new beet_1.BeetStruct([
16
+ ['isInitialized', beet_1.u8],
17
+ ['accountType', beet_1.u8],
18
+ ['globalFarm', beet_solana_1.publicKey],
19
+ ['owner', beet_solana_1.publicKey],
20
+ ['baseTokensConverted', solana_1.u64],
21
+ ['cumulativeEmissionsCheckpoint', solana_1.u256],
22
+ ], (args) => args);
23
+ exports.aquafarmStruct = new beet_1.BeetStruct([
24
+ ['buffer', (0, solana_1.blob)(3)],
25
+ ['tokenProgramId', beet_solana_1.publicKey],
26
+ ['emissionsAuthority', beet_solana_1.publicKey],
27
+ ['removeRewardsAuthority', beet_solana_1.publicKey],
28
+ ['baseTokenMint', beet_solana_1.publicKey],
29
+ ['baseTokenVault', beet_solana_1.publicKey],
30
+ ['rewardTokenVault', beet_solana_1.publicKey],
31
+ ['farmTokenMint', beet_solana_1.publicKey],
32
+ ['emissionsPerSecondNumerator', solana_1.u64],
33
+ ['emissionsPerSecondDenominator', solana_1.u64],
34
+ ['lastUpdatedTimestamp', solana_1.u64],
35
+ ['cumulativeEmissionsPerFarmToken', solana_1.u256],
36
+ ], (args) => args);
37
+ //# sourceMappingURL=aquafarms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aquafarms.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/orca/structs/aquafarms.ts"],"names":[],"mappings":";;;AAAA,oDAA2D;AAC3D,kEAA6D;AAG7D,kDAAwD;AAW3C,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,eAAe,EAAE,SAAE,CAAC;IACrB,CAAC,aAAa,EAAE,SAAE,CAAC;IACnB,CAAC,YAAY,EAAE,uBAAS,CAAC;IACzB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,qBAAqB,EAAE,YAAG,CAAC;IAC5B,CAAC,+BAA+B,EAAE,aAAI,CAAC;CACxC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,CAC5B,CAAC;AAWW,QAAA,kBAAkB,GAAG,IAAI,iBAAU,CAC9C;IACE,CAAC,eAAe,EAAE,SAAE,CAAC;IACrB,CAAC,aAAa,EAAE,SAAE,CAAC;IACnB,CAAC,YAAY,EAAE,uBAAS,CAAC;IACzB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,qBAAqB,EAAE,YAAG,CAAC;IAC5B,CAAC,+BAA+B,EAAE,aAAI,CAAC;CACxC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAoB,CAC/B,CAAC;AAiBW,QAAA,cAAc,GAAG,IAAI,iBAAU,CAC1C;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,gBAAgB,EAAE,uBAAS,CAAC;IAC7B,CAAC,oBAAoB,EAAE,uBAAS,CAAC;IACjC,CAAC,wBAAwB,EAAE,uBAAS,CAAC;IACrC,CAAC,eAAe,EAAE,uBAAS,CAAC;IAC5B,CAAC,gBAAgB,EAAE,uBAAS,CAAC;IAC7B,CAAC,kBAAkB,EAAE,uBAAS,CAAC;IAC/B,CAAC,eAAe,EAAE,uBAAS,CAAC;IAC5B,CAAC,6BAA6B,EAAE,YAAG,CAAC;IACpC,CAAC,+BAA+B,EAAE,YAAG,CAAC;IACtC,CAAC,sBAAsB,EAAE,YAAG,CAAC;IAC7B,CAAC,iCAAiC,EAAE,aAAI,CAAC;CAC1C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAgB,CAC3B,CAAC"}
@@ -0,0 +1,59 @@
1
+ /// <reference types="node" />
2
+ import { BeetStruct } from '@metaplex-foundation/beet';
3
+ import { PublicKey } from '@metaplex-foundation/js';
4
+ import BigNumber from 'bignumber.js';
5
+ export type PositionRewardInfo = {
6
+ growthInsideCheckpoint: BigNumber;
7
+ amountOwed: BigNumber;
8
+ };
9
+ export declare const positionRewardInfoStruct: BeetStruct<PositionRewardInfo, Partial<PositionRewardInfo>>;
10
+ export type PositionWhirlpool = Position & {
11
+ tickCurrentIndex?: number;
12
+ tokenMintA?: PublicKey;
13
+ tokenMintB?: PublicKey;
14
+ };
15
+ export type Position = {
16
+ padding: Buffer;
17
+ whirlpool: PublicKey;
18
+ positionMint: PublicKey;
19
+ liquidity: BigNumber;
20
+ tickLowerIndex: number;
21
+ tickUpperIndex: number;
22
+ feeGrowthCheckpointA: BigNumber;
23
+ feeOwedA: BigNumber;
24
+ feeGrowthCheckpointB: BigNumber;
25
+ feeOwedB: BigNumber;
26
+ rewardInfos: PositionRewardInfo[];
27
+ };
28
+ export declare const positionStruct: BeetStruct<Position, Partial<Position>>;
29
+ export type WhirlpoolRewardInfo = {
30
+ mint: PublicKey;
31
+ vault: PublicKey;
32
+ authority: PublicKey;
33
+ emissionsPerSecondX64: BigNumber;
34
+ growthGlobalX64: BigNumber;
35
+ };
36
+ export declare const whirlpoolRewardInfoStruct: BeetStruct<WhirlpoolRewardInfo, Partial<WhirlpoolRewardInfo>>;
37
+ export type Whirlpool = {
38
+ padding: Buffer;
39
+ whirlpoolsConfig: PublicKey;
40
+ whirlpoolBump: number[];
41
+ tickSpacing: number;
42
+ tickSpacingSeed: number[];
43
+ feeRate: number;
44
+ protocolFeeRate: number;
45
+ liquidity: BigNumber;
46
+ sqrtPrice: BigNumber;
47
+ tickCurrentIndex: number;
48
+ protocolFeeOwedA: BigNumber;
49
+ protocolFeeOwedB: BigNumber;
50
+ tokenMintA: PublicKey;
51
+ tokenVaultA: PublicKey;
52
+ feeGrowthGlobalA: BigNumber;
53
+ tokenMintB: PublicKey;
54
+ tokenVaultB: PublicKey;
55
+ feeGrowthGlobalB: BigNumber;
56
+ rewardLastUpdatedTimestamp: BigNumber;
57
+ rewardInfos: WhirlpoolRewardInfo[];
58
+ };
59
+ export declare const whirlpoolStruct: BeetStruct<Whirlpool, Partial<Whirlpool>>;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.whirlpoolStruct = exports.whirlpoolRewardInfoStruct = exports.positionStruct = exports.positionRewardInfoStruct = void 0;
4
+ const beet_1 = require("@metaplex-foundation/beet");
5
+ const beet_solana_1 = require("@metaplex-foundation/beet-solana");
6
+ const solana_1 = require("../../../utils/solana");
7
+ exports.positionRewardInfoStruct = new beet_1.BeetStruct([
8
+ ['growthInsideCheckpoint', solana_1.u128],
9
+ ['amountOwed', solana_1.u64],
10
+ ], (args) => args);
11
+ exports.positionStruct = new beet_1.BeetStruct([
12
+ ['padding', (0, solana_1.blob)(8)],
13
+ ['whirlpool', beet_solana_1.publicKey],
14
+ ['positionMint', beet_solana_1.publicKey],
15
+ ['liquidity', solana_1.u128],
16
+ ['tickLowerIndex', beet_1.i32],
17
+ ['tickUpperIndex', beet_1.i32],
18
+ ['feeGrowthCheckpointA', solana_1.u128],
19
+ ['feeOwedA', solana_1.u64],
20
+ ['feeGrowthCheckpointB', solana_1.u128],
21
+ ['feeOwedB', solana_1.u64],
22
+ ['rewardInfos', (0, beet_1.uniformFixedSizeArray)(exports.positionRewardInfoStruct, 3)],
23
+ ], (args) => args);
24
+ exports.whirlpoolRewardInfoStruct = new beet_1.BeetStruct([
25
+ ['mint', beet_solana_1.publicKey],
26
+ ['vault', beet_solana_1.publicKey],
27
+ ['authority', beet_solana_1.publicKey],
28
+ ['emissionsPerSecondX64', solana_1.u128],
29
+ ['growthGlobalX64', solana_1.u128],
30
+ ], (args) => args);
31
+ exports.whirlpoolStruct = new beet_1.BeetStruct([
32
+ ['padding', (0, solana_1.blob)(8)],
33
+ ['whirlpoolsConfig', beet_solana_1.publicKey],
34
+ ['whirlpoolBump', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 1)],
35
+ ['tickSpacing', beet_1.u16],
36
+ ['tickSpacingSeed', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 2)],
37
+ ['feeRate', beet_1.u16],
38
+ ['protocolFeeRate', beet_1.u16],
39
+ ['liquidity', solana_1.u128],
40
+ ['sqrtPrice', solana_1.u128],
41
+ ['tickCurrentIndex', beet_1.i32],
42
+ ['protocolFeeOwedA', solana_1.u64],
43
+ ['protocolFeeOwedB', solana_1.u64],
44
+ ['tokenMintA', beet_solana_1.publicKey],
45
+ ['tokenVaultA', beet_solana_1.publicKey],
46
+ ['feeGrowthGlobalA', solana_1.u128],
47
+ ['tokenMintB', beet_solana_1.publicKey],
48
+ ['tokenVaultB', beet_solana_1.publicKey],
49
+ ['feeGrowthGlobalB', solana_1.u128],
50
+ ['rewardLastUpdatedTimestamp', solana_1.u64],
51
+ ['rewardInfos', (0, beet_1.uniformFixedSizeArray)(exports.whirlpoolRewardInfoStruct, 3)],
52
+ ], (args) => args);
53
+ //# sourceMappingURL=whirlpool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whirlpool.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/orca/structs/whirlpool.ts"],"names":[],"mappings":";;;AAAA,oDAMmC;AACnC,kEAA6D;AAG7D,kDAAwD;AAO3C,QAAA,wBAAwB,GAAG,IAAI,iBAAU,CACpD;IACE,CAAC,wBAAwB,EAAE,aAAI,CAAC;IAChC,CAAC,YAAY,EAAE,YAAG,CAAC;CACpB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAA0B,CACrC,CAAC;AAsBW,QAAA,cAAc,GAAG,IAAI,iBAAU,CAC1C;IACE,CAAC,SAAS,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACpB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,cAAc,EAAE,uBAAS,CAAC;IAC3B,CAAC,WAAW,EAAE,aAAI,CAAC;IACnB,CAAC,gBAAgB,EAAE,UAAG,CAAC;IACvB,CAAC,gBAAgB,EAAE,UAAG,CAAC;IACvB,CAAC,sBAAsB,EAAE,aAAI,CAAC;IAC9B,CAAC,UAAU,EAAE,YAAG,CAAC;IACjB,CAAC,sBAAsB,EAAE,aAAI,CAAC;IAC9B,CAAC,UAAU,EAAE,YAAG,CAAC;IACjB,CAAC,aAAa,EAAE,IAAA,4BAAqB,EAAC,gCAAwB,EAAE,CAAC,CAAC,CAAC;CACpE,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAgB,CAC3B,CAAC;AAUW,QAAA,yBAAyB,GAAG,IAAI,iBAAU,CACrD;IACE,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,uBAAuB,EAAE,aAAI,CAAC;IAC/B,CAAC,iBAAiB,EAAE,aAAI,CAAC;CAC1B,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAA2B,CACtC,CAAC;AAyBW,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,SAAS,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACpB,CAAC,kBAAkB,EAAE,uBAAS,CAAC;IAC/B,CAAC,eAAe,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,aAAa,EAAE,UAAG,CAAC;IACpB,CAAC,iBAAiB,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC,SAAS,EAAE,UAAG,CAAC;IAChB,CAAC,iBAAiB,EAAE,UAAG,CAAC;IACxB,CAAC,WAAW,EAAE,aAAI,CAAC;IACnB,CAAC,WAAW,EAAE,aAAI,CAAC;IACnB,CAAC,kBAAkB,EAAE,UAAG,CAAC;IACzB,CAAC,kBAAkB,EAAE,YAAG,CAAC;IACzB,CAAC,kBAAkB,EAAE,YAAG,CAAC;IACzB,CAAC,YAAY,EAAE,uBAAS,CAAC;IACzB,CAAC,aAAa,EAAE,uBAAS,CAAC;IAC1B,CAAC,kBAAkB,EAAE,aAAI,CAAC;IAC1B,CAAC,YAAY,EAAE,uBAAS,CAAC;IACzB,CAAC,aAAa,EAAE,uBAAS,CAAC;IAC1B,CAAC,kBAAkB,EAAE,aAAI,CAAC;IAC1B,CAAC,4BAA4B,EAAE,YAAG,CAAC;IACnC,CAAC,aAAa,EAAE,IAAA,4BAAqB,EAAC,iCAAyB,EAAE,CAAC,CAAC,CAAC;CACrE,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,CAC5B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '@sonarwatch/portfolio-core';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,36 @@
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("./constants");
14
+ const solana_1 = require("../../utils/solana");
15
+ const clients_1 = require("../../utils/clients");
16
+ const whirlpool_1 = require("./structs/whirlpool");
17
+ const filters_1 = require("./filters");
18
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const client = (0, clients_1.getClientSolana)();
20
+ const whirlpoolsInfo = yield (0, solana_1.getParsedProgramAccounts)(client, whirlpool_1.whirlpoolStruct, constants_1.whirlpoolProgram, filters_1.whirlpoolFilters);
21
+ for (let id = 0; id < whirlpoolsInfo.length; id++) {
22
+ const whirlpoolInfo = whirlpoolsInfo[id];
23
+ if (whirlpoolInfo.liquidity.isZero())
24
+ continue;
25
+ yield cache.setItem(whirlpoolInfo.pubkey.toString(), whirlpoolInfo, {
26
+ prefix: constants_1.whirlpoolPrefix,
27
+ networkId: portfolio_core_1.NetworkId.solana,
28
+ });
29
+ }
30
+ });
31
+ const job = {
32
+ id: `${constants_1.platformId}-whirlpools`,
33
+ executor,
34
+ };
35
+ exports.default = job;
36
+ //# sourceMappingURL=whirlpoolsJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whirlpoolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/orca/whirlpoolsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAgF;AAChF,2CAA4E;AAC5E,+CAA8D;AAC9D,iDAAsD;AACtD,mDAAsD;AACtD,uCAA6C;AAE7C,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,cAAc,GAAG,MAAM,IAAA,iCAAwB,EACnD,MAAM,EACN,2BAAe,EACf,4BAAgB,EAChB,0BAAgB,CACjB,CAAC;IACF,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;QACjD,MAAM,aAAa,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE;YAAE,SAAS;QAC/C,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE;YAClE,MAAM,EAAE,2BAAe;YACvB,SAAS,EAAE,0BAAS,CAAC,MAAM;SAC5B,CAAC,CAAC;KACJ;AACH,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,aAAa;IAC9B,QAAQ;CACT,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '@sonarwatch/portfolio-core';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;