@sonarwatch/portfolio-plugins 0.15.46 → 0.15.49

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 (106) hide show
  1. package/CHANGELOG.md +2954 -2926
  2. package/README.md +3 -3
  3. package/package.json +1 -1
  4. package/src/index.js +4 -0
  5. package/src/index.js.map +1 -1
  6. package/src/plugins/balancer/helpers/pools.js +21 -21
  7. package/src/plugins/byreal/clmmJob.d.ts +3 -0
  8. package/src/plugins/byreal/clmmJob.js +140 -0
  9. package/src/plugins/byreal/clmmJob.js.map +1 -0
  10. package/src/plugins/byreal/constants.d.ts +8 -0
  11. package/src/plugins/byreal/constants.js +11 -0
  12. package/src/plugins/byreal/constants.js.map +1 -0
  13. package/src/plugins/byreal/index.d.ts +4 -0
  14. package/src/plugins/byreal/index.js +11 -0
  15. package/src/plugins/byreal/index.js.map +1 -0
  16. package/src/plugins/byreal/resetFetcher.d.ts +3 -0
  17. package/src/plugins/byreal/resetFetcher.js +119 -0
  18. package/src/plugins/byreal/resetFetcher.js.map +1 -0
  19. package/src/plugins/byreal/structs.d.ts +53 -0
  20. package/src/plugins/byreal/structs.js +53 -0
  21. package/src/plugins/byreal/structs.js.map +1 -0
  22. package/src/plugins/carrot/constants.d.ts +1 -0
  23. package/src/plugins/carrot/constants.js +2 -1
  24. package/src/plugins/carrot/constants.js.map +1 -1
  25. package/src/plugins/carrot/crtYieldJob.d.ts +3 -0
  26. package/src/plugins/carrot/crtYieldJob.js +35 -0
  27. package/src/plugins/carrot/crtYieldJob.js.map +1 -0
  28. package/src/plugins/carrot/index.js +2 -1
  29. package/src/plugins/carrot/index.js.map +1 -1
  30. package/src/plugins/drift/airdropFetcher.js +1 -1
  31. package/src/plugins/drift/airdropFetcher.js.map +1 -1
  32. package/src/plugins/drift/airdrops3Fetcher.d.ts +2 -0
  33. package/src/plugins/drift/airdrops3Fetcher.js +76 -0
  34. package/src/plugins/drift/airdrops3Fetcher.js.map +1 -0
  35. package/src/plugins/drift/constants.d.ts +4 -1
  36. package/src/plugins/drift/constants.js +14 -2
  37. package/src/plugins/drift/constants.js.map +1 -1
  38. package/src/plugins/drift/helpersAirdrop.d.ts +2 -0
  39. package/src/plugins/drift/helpersAirdrop.js +5 -5
  40. package/src/plugins/drift/helpersAirdrop.js.map +1 -1
  41. package/src/plugins/drift/types.d.ts +16 -0
  42. package/src/plugins/fragmetric/airdropFetcher.d.ts +2 -0
  43. package/src/plugins/fragmetric/airdropFetcher.js +48 -0
  44. package/src/plugins/fragmetric/airdropFetcher.js.map +1 -0
  45. package/src/plugins/fragmetric/constants.d.ts +10 -0
  46. package/src/plugins/fragmetric/constants.js +18 -1
  47. package/src/plugins/fragmetric/constants.js.map +1 -1
  48. package/src/plugins/fragmetric/index.d.ts +2 -0
  49. package/src/plugins/fragmetric/index.js +3 -1
  50. package/src/plugins/fragmetric/index.js.map +1 -1
  51. package/src/plugins/fragmetric/pricingJob.js +2 -0
  52. package/src/plugins/fragmetric/pricingJob.js.map +1 -1
  53. package/src/plugins/jupiter/governance/constants.d.ts +2 -0
  54. package/src/plugins/jupiter/governance/constants.js +17 -1
  55. package/src/plugins/jupiter/governance/constants.js.map +1 -1
  56. package/src/plugins/jupiter/governance/index.d.ts +2 -0
  57. package/src/plugins/jupiter/governance/index.js +7 -1
  58. package/src/plugins/jupiter/governance/index.js.map +1 -1
  59. package/src/plugins/jupiter/index.js +2 -1
  60. package/src/plugins/jupiter/index.js.map +1 -1
  61. package/src/plugins/kamino/constants.js +4 -0
  62. package/src/plugins/kamino/constants.js.map +1 -1
  63. package/src/plugins/raydium/clmmFetcher.d.ts +4 -1
  64. package/src/plugins/raydium/clmmFetcher.js +81 -79
  65. package/src/plugins/raydium/clmmFetcher.js.map +1 -1
  66. package/src/plugins/raydium/constants.d.ts +1 -1
  67. package/src/plugins/raydium/constants.js +2 -2
  68. package/src/plugins/raydium/constants.js.map +1 -1
  69. package/src/plugins/sushiswap/helpers.js +24 -24
  70. package/src/plugins/switchboard/onDemandPricingJob.js +2 -1
  71. package/src/plugins/switchboard/onDemandPricingJob.js.map +1 -1
  72. package/src/plugins/tokens/fetchers/solana-simple.js +1 -1
  73. package/src/plugins/tokens/fetchers/solana-simple.js.map +1 -1
  74. package/src/plugins/tokens/fetchers/solana.js +59 -35
  75. package/src/plugins/tokens/fetchers/solana.js.map +1 -1
  76. package/src/plugins/triad/marketsFetcher.js +2 -0
  77. package/src/plugins/triad/marketsFetcher.js.map +1 -1
  78. package/src/plugins/uniswap-v2/helpers.js +22 -22
  79. package/src/plugins/voltr/constants.d.ts +5 -0
  80. package/src/plugins/voltr/constants.js +7 -0
  81. package/src/plugins/voltr/constants.js.map +1 -0
  82. package/src/plugins/voltr/index.d.ts +4 -0
  83. package/src/plugins/voltr/index.js +10 -0
  84. package/src/plugins/voltr/index.js.map +1 -0
  85. package/src/plugins/voltr/structs.d.ts +81 -0
  86. package/src/plugins/voltr/structs.js +74 -0
  87. package/src/plugins/voltr/structs.js.map +1 -0
  88. package/src/plugins/voltr/vaultsJob.d.ts +3 -0
  89. package/src/plugins/voltr/vaultsJob.js +73 -0
  90. package/src/plugins/voltr/vaultsJob.js.map +1 -0
  91. package/src/plugins/zeta/airdropFetcher.js +14 -14
  92. package/src/utils/elementbuilder/AssetPricedTokenBuilder.d.ts +19 -0
  93. package/src/utils/elementbuilder/AssetPricedTokenBuilder.js +37 -0
  94. package/src/utils/elementbuilder/AssetPricedTokenBuilder.js.map +1 -0
  95. package/src/utils/elementbuilder/ElementMultipleBuilder.d.ts +2 -1
  96. package/src/utils/elementbuilder/ElementMultipleBuilder.js +4 -0
  97. package/src/utils/elementbuilder/ElementMultipleBuilder.js.map +1 -1
  98. package/src/utils/elementbuilder/Params.d.ts +7 -0
  99. package/src/utils/sei/constants.js +8 -8
  100. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
  101. package/src/utils/solana/constants.d.ts +0 -1
  102. package/src/utils/solana/constants.js +1 -2
  103. package/src/utils/solana/constants.js.map +1 -1
  104. package/src/utils/solana/getTokenAccountsByOwner.d.ts +1 -1
  105. package/src/utils/solana/getTokenAccountsByOwner.js +3 -1
  106. package/src/utils/solana/getTokenAccountsByOwner.js.map +1 -1
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
- # @sonarwatch/portfolio-plugins
2
-
3
- This library is @sonarwatch/portfolio-plugins
1
+ # @sonarwatch/portfolio-plugins
2
+
3
+ This library is @sonarwatch/portfolio-plugins
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-plugins",
3
- "version": "0.15.46",
3
+ "version": "0.15.49",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "peerDependencies": {
package/src/index.js CHANGED
@@ -208,6 +208,8 @@ const candle = __importStar(require("./plugins/candle"));
208
208
  const spice = __importStar(require("./plugins/spice"));
209
209
  const cudis = __importStar(require("./plugins/cudis"));
210
210
  const wasabi = __importStar(require("./plugins/wasabi"));
211
+ const byreal = __importStar(require("./plugins/byreal"));
212
+ const voltr = __importStar(require("./plugins/voltr"));
211
213
  const tokens_1 = require("./plugins/tokens");
212
214
  Object.defineProperty(exports, "solanaSimpleFetcher", { enumerable: true, get: function () { return tokens_1.solanaSimpleFetcher; } });
213
215
  var getFetchersByAddressSystem_2 = require("./utils/misc/getFetchersByAddressSystem");
@@ -402,6 +404,8 @@ const modules = [
402
404
  spice,
403
405
  cudis,
404
406
  wasabi,
407
+ byreal,
408
+ voltr,
405
409
  ];
406
410
  // JOBS //
407
411
  exports.jobs = modules
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":"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"}
@@ -36,27 +36,27 @@ exports.getBalancerPoolsV2 = void 0;
36
36
  const graphql_request_1 = __importStar(require("graphql-request"));
37
37
  function getBalancerPoolsV2(url) {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
- const query = (0, graphql_request_1.gql) `
40
- query pools {
41
- pools(
42
- first: 1000
43
- orderBy: totalLiquidity
44
- orderDirection: desc
45
- where: { totalLiquidity_gt: "500" }
46
- ) {
47
- id
48
- address
49
- symbol
50
- totalLiquidity
51
- totalShares
52
- tokens {
53
- balance
54
- decimals
55
- symbol
56
- address
57
- }
58
- }
59
- }
39
+ const query = (0, graphql_request_1.gql) `
40
+ query pools {
41
+ pools(
42
+ first: 1000
43
+ orderBy: totalLiquidity
44
+ orderDirection: desc
45
+ where: { totalLiquidity_gt: "500" }
46
+ ) {
47
+ id
48
+ address
49
+ symbol
50
+ totalLiquidity
51
+ totalShares
52
+ tokens {
53
+ balance
54
+ decimals
55
+ symbol
56
+ address
57
+ }
58
+ }
59
+ }
60
60
  `;
61
61
  const res = yield (0, graphql_request_1.default)(url, query);
62
62
  const pools = res.pools;
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,140 @@
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 decimal_js_1 = __importDefault(require("decimal.js"));
17
+ const constants_1 = require("./constants");
18
+ const solana_1 = require("../../utils/solana");
19
+ const clients_1 = require("../../utils/clients");
20
+ const tokenPricesFromSqrt_1 = require("../../utils/clmm/tokenPricesFromSqrt");
21
+ const clmms_1 = require("../raydium/structs/clmms");
22
+ const filters_1 = require("../raydium/filters");
23
+ const getLpUnderlyingTokenSource_1 = require("../../utils/misc/getLpUnderlyingTokenSource");
24
+ const constants_2 = require("../../utils/misc/constants");
25
+ const getSourceWeight_1 = __importDefault(require("../../utils/misc/getSourceWeight"));
26
+ const getParsedMultipleAccountsInfoSafe_1 = require("../../utils/solana/getParsedMultipleAccountsInfoSafe");
27
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
28
+ const client = (0, clients_1.getClientSolana)();
29
+ const allPoolsPubkeys = yield client.getProgramAccounts(constants_1.byrealClmmPid, {
30
+ filters: filters_1.clmmPoolsStateFilter,
31
+ dataSlice: { offset: 0, length: 0 },
32
+ });
33
+ const acceptedPairs = getLpUnderlyingTokenSource_1.defaultAcceptedPairs.get(portfolio_core_1.NetworkId.solana);
34
+ if (!acceptedPairs)
35
+ return;
36
+ const step = 100;
37
+ const tokenPriceSources = [];
38
+ let clmmPoolsInfo;
39
+ let tokenAccounts;
40
+ let tokenPriceById;
41
+ for (let offset = 0; offset < allPoolsPubkeys.length; offset += step) {
42
+ const tokenAccountsPkeys = [];
43
+ const mints = new Set();
44
+ clmmPoolsInfo = yield (0, getParsedMultipleAccountsInfoSafe_1.getParsedMultipleAccountsInfoSafe)(client, clmms_1.poolStateStruct, clmms_1.poolStateStruct.byteSize, allPoolsPubkeys.slice(offset, offset + step).map((res) => res.pubkey));
45
+ clmmPoolsInfo.forEach((pI) => {
46
+ if (!pI)
47
+ return;
48
+ mints.add(pI.tokenMint0.toString());
49
+ mints.add(pI.tokenMint1.toString());
50
+ tokenAccountsPkeys.push(pI.tokenVault0, pI.tokenVault1);
51
+ });
52
+ [tokenAccounts, tokenPriceById] = yield Promise.all([
53
+ (0, getParsedMultipleAccountsInfoSafe_1.getParsedMultipleAccountsInfoSafe)(client, solana_1.tokenAccountStruct, solana_1.tokenAccountStruct.byteSize, tokenAccountsPkeys),
54
+ cache.getTokenPricesAsMap(Array.from(mints), portfolio_core_1.NetworkId.solana),
55
+ ]);
56
+ const tokenAccountsMap = new Map();
57
+ tokenAccounts.forEach((tA) => {
58
+ if (!tA)
59
+ return;
60
+ tokenAccountsMap.set(tA.pubkey.toString(), tA);
61
+ });
62
+ let mintA;
63
+ let mintB;
64
+ let unknownPrice;
65
+ let decimalA;
66
+ let decimalB;
67
+ let poolState;
68
+ let refLiquidity;
69
+ let priceAToB;
70
+ let refTokenPrice;
71
+ let refTokenAccount;
72
+ for (let id = 0; id < clmmPoolsInfo.length; id++) {
73
+ poolState = clmmPoolsInfo[id];
74
+ if (!poolState || poolState.liquidity.isZero())
75
+ continue;
76
+ mintA = poolState.tokenMint0.toString();
77
+ mintB = poolState.tokenMint1.toString();
78
+ decimalA = poolState.mintDecimals0;
79
+ decimalB = poolState.mintDecimals1;
80
+ let refMint;
81
+ let unkMint;
82
+ let refTokenVault;
83
+ let aToB;
84
+ let refDecimal;
85
+ let unkDecimal;
86
+ if (acceptedPairs.includes(mintA)) {
87
+ refMint = mintA;
88
+ unkMint = mintB;
89
+ refTokenVault = poolState.tokenVault0.toString();
90
+ aToB = true;
91
+ refDecimal = decimalA;
92
+ unkDecimal = decimalB;
93
+ }
94
+ else if (acceptedPairs.includes(mintB)) {
95
+ refMint = mintB;
96
+ unkMint = mintA;
97
+ refTokenVault = poolState.tokenVault1.toString();
98
+ aToB = false;
99
+ refDecimal = decimalB;
100
+ unkDecimal = decimalA;
101
+ }
102
+ else {
103
+ continue;
104
+ }
105
+ refTokenPrice = tokenPriceById.get(refMint);
106
+ if (!refTokenPrice)
107
+ continue;
108
+ refTokenAccount = tokenAccountsMap.get(refTokenVault);
109
+ if (!refTokenAccount)
110
+ continue;
111
+ refLiquidity = refTokenAccount.amount
112
+ .times(refTokenPrice.price)
113
+ .dividedBy(Math.pow(10, refDecimal));
114
+ if (refLiquidity.isLessThan(constants_2.minimumReserveValue))
115
+ continue;
116
+ priceAToB = (0, tokenPricesFromSqrt_1.sqrtPriceX64ToPrice)(poolState.sqrtPriceX64, decimalA, decimalB);
117
+ unknownPrice = aToB
118
+ ? new decimal_js_1.default(refTokenPrice.price).dividedBy(priceAToB).toNumber()
119
+ : new decimal_js_1.default(refTokenPrice.price).times(priceAToB).toNumber();
120
+ tokenPriceSources.push({
121
+ address: unkMint,
122
+ decimals: unkDecimal,
123
+ id: constants_1.byrealPlatformId,
124
+ networkId: portfolio_core_1.NetworkId.solana,
125
+ platformId: portfolio_core_1.walletTokensPlatformId,
126
+ price: unknownPrice,
127
+ timestamp: Date.now(),
128
+ weight: (0, getSourceWeight_1.default)(refLiquidity.times(2)),
129
+ });
130
+ }
131
+ yield cache.setTokenPriceSources(tokenPriceSources);
132
+ }
133
+ });
134
+ const job = {
135
+ id: `${constants_1.byrealPlatformId}-clmm`,
136
+ executor,
137
+ labels: ['normal'],
138
+ };
139
+ exports.default = job;
140
+ //# sourceMappingURL=clmmJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clmmJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/byreal/clmmJob.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
+ import { PublicKey } from '@solana/web3.js';
4
+ export declare const byrealPlatformId = "byreal";
5
+ export declare const byrealClmmPid: PublicKey;
6
+ export declare const byrealPositionsIdentifier = "Byreal CLMM Position";
7
+ export declare const getByrealClmmPositions: (tokenAccounts: import("../../utils/solana").ParsedAccount<import("../../utils/solana").TokenAccountWithMetadata>[], cache: import("../..").Cache) => Promise<import("../../../../../dist/packages/core/src").PortfolioElement[]>;
8
+ export declare const byrealResetPid: PublicKey;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.byrealResetPid = exports.getByrealClmmPositions = exports.byrealPositionsIdentifier = exports.byrealClmmPid = exports.byrealPlatformId = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const clmmFetcher_1 = require("../raydium/clmmFetcher");
6
+ exports.byrealPlatformId = 'byreal';
7
+ exports.byrealClmmPid = new web3_js_1.PublicKey('REALQqNEomY6cQGZJUGwywTBD2UmDT32rZcNnfxQ5N2');
8
+ exports.byrealPositionsIdentifier = 'Byreal CLMM Position';
9
+ exports.getByrealClmmPositions = (0, clmmFetcher_1.getRaydiumClmmPositions)(exports.byrealPlatformId, exports.byrealPositionsIdentifier, exports.byrealClmmPid, 'https://byreal.io/portfolio/?position_tab=concentrated');
10
+ exports.byrealResetPid = new web3_js_1.PublicKey('REALdpFGDDsiD9tvxYsXBTDpgH1gGQEqJ8YSLdYQWGD');
11
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/byreal/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,wDAAiE;AAEpD,QAAA,gBAAgB,GAAG,QAAQ,CAAC;AAC5B,QAAA,aAAa,GAAG,IAAI,mBAAS,CACxC,6CAA6C,CAC9C,CAAC;AACW,QAAA,yBAAyB,GAAG,sBAAsB,CAAC;AACnD,QAAA,sBAAsB,GAAG,IAAA,qCAAuB,EAC3D,wBAAgB,EAChB,iCAAyB,EACzB,qBAAa,EACb,wDAAwD,CACzD,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,6CAA6C,CAC9C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ import { Job } from '../../Job';
3
+ export declare const jobs: Job[];
4
+ export declare const fetchers: Fetcher[];
@@ -0,0 +1,11 @@
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
+ const clmmJob_1 = __importDefault(require("./clmmJob"));
8
+ const resetFetcher_1 = __importDefault(require("./resetFetcher"));
9
+ exports.jobs = [clmmJob_1.default];
10
+ exports.fetchers = [resetFetcher_1.default];
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/byreal/index.ts"],"names":[],"mappings":";;;;;;AAEA,wDAAgC;AAChC,kEAA0C;AAE7B,QAAA,IAAI,GAAU,CAAC,iBAAO,CAAC,CAAC;AACxB,QAAA,QAAQ,GAAc,CAAC,sBAAY,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,119 @@
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 web3_js_1 = require("@solana/web3.js");
17
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
18
+ const constants_1 = require("./constants");
19
+ const clients_1 = require("../../utils/clients");
20
+ const structs_1 = require("./structs");
21
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
22
+ const ParsedGpa_1 = require("../../utils/solana/beets/ParsedGpa");
23
+ const solana_1 = require("../../utils/solana");
24
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
25
+ const client = (0, clients_1.getClientSolana)();
26
+ const accounts = yield ParsedGpa_1.ParsedGpa.build(client, structs_1.commitStatusStruct, constants_1.byrealResetPid)
27
+ .addFilter('discriminator', [25, 194, 13, 113, 31, 254, 29, 14])
28
+ .addFilter('user', new web3_js_1.PublicKey(owner))
29
+ .run();
30
+ if (accounts.length === 0)
31
+ return [];
32
+ const auctions = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, structs_1.auctionStruct, accounts.map((acc) => acc.auction));
33
+ const registry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.byrealPlatformId);
34
+ const tokenPriceById = yield cache.getTokenPricesAsMap(auctions.flatMap((a) => a ? [a.quoteMint.toString(), a === null || a === void 0 ? void 0 : a.listMint.toString()] : []), portfolio_core_1.NetworkId.solana);
35
+ const listTokenAccounts = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, solana_1.mintAccountStruct, auctions.flatMap((a) => (a ? a.listMint : [])));
36
+ accounts.forEach((account, index) => {
37
+ var _a, _b, _c, _d;
38
+ const auction = auctions[index];
39
+ if (!auction)
40
+ return;
41
+ if (auction.status === structs_1.AuctionStatus.Closed)
42
+ return;
43
+ const element = registry.addElementMultiple({
44
+ label: 'Deposit',
45
+ link: `https://www.byreal.io/en/reset?id=${account.auction.toString()}`,
46
+ name: 'Reset',
47
+ ref: account.pubkey.toString(),
48
+ sourceRefs: [
49
+ {
50
+ address: auction.pubkey.toString(),
51
+ name: 'Market',
52
+ },
53
+ ],
54
+ });
55
+ const quoteDecimals = (_a = tokenPriceById.get(auction.quoteMint.toString())) === null || _a === void 0 ? void 0 : _a.decimals;
56
+ const listDecimals = (_c = (_b = tokenPriceById.get(auction.listMint.toString())) === null || _b === void 0 ? void 0 : _b.decimals) !== null && _c !== void 0 ? _c : (_d = listTokenAccounts.find((a) => (a === null || a === void 0 ? void 0 : a.pubkey.toString()) === auction.listMint.toString())) === null || _d === void 0 ? void 0 : _d.decimals;
57
+ if (!listDecimals || !quoteDecimals)
58
+ return;
59
+ const isCommitEnded = auction.commitEndTime.isLessThanOrEqualTo(Date.now() * 1000);
60
+ account.bins.forEach((bin, id) => {
61
+ if (isCommitEnded) {
62
+ if (!bin.claimedQuoteTokenAmount.isZero() ||
63
+ bin.commitQuoteTokenAmount.isZero())
64
+ return;
65
+ const binAuction = auction.bins[id];
66
+ if (!binAuction.unitPrice)
67
+ return;
68
+ const { unitPrice, totalCommitted, totalSupply } = binAuction;
69
+ const filledRatio = totalCommitted
70
+ .dividedBy(Math.pow(10, quoteDecimals))
71
+ .dividedBy(totalSupply
72
+ .dividedBy(Math.pow(10, listDecimals))
73
+ .times(unitPrice.dividedBy(Math.pow(10, quoteDecimals))));
74
+ let refundAmount = new bignumber_js_1.default(0);
75
+ let mintAmountToClaim = new bignumber_js_1.default(0);
76
+ if (filledRatio.isLessThan(1)) {
77
+ mintAmountToClaim = bin.commitQuoteTokenAmount
78
+ .times(unitPrice)
79
+ .dividedBy(Math.pow(10, listDecimals));
80
+ }
81
+ else {
82
+ refundAmount = bin.commitQuoteTokenAmount.times(1 - 1 / filledRatio.toNumber());
83
+ mintAmountToClaim = bin.commitQuoteTokenAmount
84
+ .minus(refundAmount)
85
+ .shiftedBy(-quoteDecimals)
86
+ .dividedBy(unitPrice.shiftedBy(-listDecimals));
87
+ }
88
+ const attributes = auction.claimStartTime.isLessThanOrEqualTo(Date.now() * 1000)
89
+ ? { isClaimable: true }
90
+ : undefined;
91
+ element.addAsset({
92
+ address: auction.quoteMint,
93
+ amount: refundAmount,
94
+ attributes,
95
+ });
96
+ element.addAsset({
97
+ address: auction.listMint,
98
+ amount: mintAmountToClaim,
99
+ alreadyShifted: true,
100
+ attributes,
101
+ });
102
+ }
103
+ else {
104
+ element.addAsset({
105
+ address: auction.quoteMint,
106
+ amount: bin.commitQuoteTokenAmount,
107
+ });
108
+ }
109
+ });
110
+ });
111
+ return registry.getElements(cache);
112
+ });
113
+ const fetcher = {
114
+ id: `${constants_1.byrealPlatformId}-reset`,
115
+ networkId: portfolio_core_1.NetworkId.solana,
116
+ executor,
117
+ };
118
+ exports.default = fetcher;
119
+ //# sourceMappingURL=resetFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resetFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/byreal/resetFetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
+ import { BeetStruct } from '@metaplex-foundation/beet';
4
+ import { PublicKey } from '@solana/web3.js';
5
+ import BigNumber from 'bignumber.js';
6
+ export type CommitBin = {
7
+ commitQuoteTokenAmount: BigNumber;
8
+ claimedQuoteTokenAmount: BigNumber;
9
+ };
10
+ export declare const commitBinStruct: BeetStruct<CommitBin, Partial<CommitBin>>;
11
+ export type CommitStatus = {
12
+ discriminator: number[];
13
+ initialized: boolean;
14
+ auction: PublicKey;
15
+ user: PublicKey;
16
+ bins: CommitBin[];
17
+ };
18
+ export declare const commitStatusStruct: BeetStruct<CommitStatus, Partial<CommitStatus>>;
19
+ export type AuctionBin = {
20
+ unitPrice: BigNumber;
21
+ totalSupply: BigNumber;
22
+ totalCommitted: BigNumber;
23
+ claimedListTokenAmount: BigNumber;
24
+ claimedQuoteTokenAmount: BigNumber;
25
+ };
26
+ export declare const auctionBinStruct: BeetStruct<AuctionBin, Partial<AuctionBin>>;
27
+ export declare enum AuctionStatus {
28
+ Open = 0,
29
+ Closed = 1
30
+ }
31
+ export type Auction = {
32
+ discriminator: number[];
33
+ auctionId: PublicKey;
34
+ listMint: PublicKey;
35
+ quoteMint: PublicKey;
36
+ vault: PublicKey;
37
+ vaultBump: number[];
38
+ commitStartTime: BigNumber;
39
+ commitEndTime: BigNumber;
40
+ claimStartTime: BigNumber;
41
+ binCount: number;
42
+ bins: AuctionBin[];
43
+ status: AuctionStatus;
44
+ totalParticipants: BigNumber;
45
+ finishClaimParticipants: BigNumber;
46
+ totalFeesCollected: BigNumber;
47
+ custodyAuthority: PublicKey;
48
+ whitelistAuthority: PublicKey;
49
+ userCommitCapLimit: BigNumber;
50
+ claimFeeBasis: BigNumber;
51
+ hasWithdrawFunds: boolean;
52
+ };
53
+ export declare const auctionStruct: BeetStruct<Auction, Partial<Auction>>;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.auctionStruct = exports.AuctionStatus = exports.auctionBinStruct = exports.commitStatusStruct = exports.commitBinStruct = 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.commitBinStruct = new beet_1.BeetStruct([
8
+ ['commitQuoteTokenAmount', solana_1.u64],
9
+ ['claimedQuoteTokenAmount', solana_1.u64],
10
+ ], (args) => args);
11
+ exports.commitStatusStruct = new beet_1.BeetStruct([
12
+ ['discriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
13
+ ['initialized', beet_1.bool], // bool as u8
14
+ ['auction', beet_solana_1.publicKey],
15
+ ['user', beet_solana_1.publicKey],
16
+ ['bins', (0, beet_1.uniformFixedSizeArray)(exports.commitBinStruct, 20)],
17
+ ], (args) => args);
18
+ exports.auctionBinStruct = new beet_1.BeetStruct([
19
+ ['unitPrice', solana_1.u64],
20
+ ['totalSupply', solana_1.u64],
21
+ ['totalCommitted', solana_1.u64],
22
+ ['claimedListTokenAmount', solana_1.u64],
23
+ ['claimedQuoteTokenAmount', solana_1.u64],
24
+ ], (args) => args);
25
+ // This is an experiment, no real enum listed on IDLs
26
+ var AuctionStatus;
27
+ (function (AuctionStatus) {
28
+ AuctionStatus[AuctionStatus["Open"] = 0] = "Open";
29
+ AuctionStatus[AuctionStatus["Closed"] = 1] = "Closed";
30
+ })(AuctionStatus || (exports.AuctionStatus = AuctionStatus = {}));
31
+ exports.auctionStruct = new beet_1.BeetStruct([
32
+ ['discriminator', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 8)],
33
+ ['auctionId', beet_solana_1.publicKey],
34
+ ['listMint', beet_solana_1.publicKey],
35
+ ['quoteMint', beet_solana_1.publicKey],
36
+ ['vault', beet_solana_1.publicKey],
37
+ ['vaultBump', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 1)],
38
+ ['commitStartTime', solana_1.u64],
39
+ ['commitEndTime', solana_1.u64],
40
+ ['claimStartTime', solana_1.u64],
41
+ ['binCount', beet_1.u8],
42
+ ['bins', (0, beet_1.uniformFixedSizeArray)(exports.auctionBinStruct, 20)],
43
+ ['status', beet_1.u8],
44
+ ['totalParticipants', solana_1.u64],
45
+ ['finishClaimParticipants', solana_1.u64],
46
+ ['totalFeesCollected', solana_1.u64],
47
+ ['custodyAuthority', beet_solana_1.publicKey],
48
+ ['whitelistAuthority', beet_solana_1.publicKey],
49
+ ['userCommitCapLimit', solana_1.u64],
50
+ ['claimFeeBasis', solana_1.u64],
51
+ ['hasWithdrawFunds', beet_1.u8], // bool as u8
52
+ ], (args) => (Object.assign(Object.assign({}, args), { hasWithdrawFunds: Boolean(args.hasWithdrawFunds) })));
53
+ //# sourceMappingURL=structs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/byreal/structs.ts"],"names":[],"mappings":";;;AAAA,oDAKmC;AACnC,kEAA6D;AAG7D,+CAAyC;AAQ5B,QAAA,eAAe,GAAG,IAAI,iBAAU,CAC3C;IACE,CAAC,wBAAwB,EAAE,YAAG,CAAC;IAC/B,CAAC,yBAAyB,EAAE,YAAG,CAAC;CACjC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAiB,CAC5B,CAAC;AAWW,QAAA,kBAAkB,GAAG,IAAI,iBAAU,CAC9C;IACE,CAAC,eAAe,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,aAAa,EAAE,WAAI,CAAC,EAAE,aAAa;IACpC,CAAC,SAAS,EAAE,uBAAS,CAAC;IACtB,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,MAAM,EAAE,IAAA,4BAAqB,EAAC,uBAAe,EAAE,EAAE,CAAC,CAAC;CACrD,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAoB,CAC/B,CAAC;AAWW,QAAA,gBAAgB,GAAG,IAAI,iBAAU,CAC5C;IACE,CAAC,WAAW,EAAE,YAAG,CAAC;IAClB,CAAC,aAAa,EAAE,YAAG,CAAC;IACpB,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,wBAAwB,EAAE,YAAG,CAAC;IAC/B,CAAC,yBAAyB,EAAE,YAAG,CAAC;CACjC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAkB,CAC7B,CAAC;AAEF,qDAAqD;AACrD,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,qDAAU,CAAA;AACZ,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AA0BY,QAAA,aAAa,GAAG,IAAI,iBAAU,CACzC;IACE,CAAC,eAAe,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,UAAU,EAAE,uBAAS,CAAC;IACvB,CAAC,WAAW,EAAE,uBAAS,CAAC;IACxB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,WAAW,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC,iBAAiB,EAAE,YAAG,CAAC;IACxB,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,gBAAgB,EAAE,YAAG,CAAC;IACvB,CAAC,UAAU,EAAE,SAAE,CAAC;IAChB,CAAC,MAAM,EAAE,IAAA,4BAAqB,EAAC,wBAAgB,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC,QAAQ,EAAE,SAAE,CAAC;IACd,CAAC,mBAAmB,EAAE,YAAG,CAAC;IAC1B,CAAC,yBAAyB,EAAE,YAAG,CAAC;IAChC,CAAC,oBAAoB,EAAE,YAAG,CAAC;IAC3B,CAAC,kBAAkB,EAAE,uBAAS,CAAC;IAC/B,CAAC,oBAAoB,EAAE,uBAAS,CAAC;IACjC,CAAC,oBAAoB,EAAE,YAAG,CAAC;IAC3B,CAAC,eAAe,EAAE,YAAG,CAAC;IACtB,CAAC,kBAAkB,EAAE,SAAE,CAAC,EAAE,aAAa;CACxC,EACD,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,gCACI,IAAI,KACP,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GACrC,CAAA,CAChB,CAAC"}
@@ -4,3 +4,4 @@ import { PublicKey } from '@solana/web3.js';
4
4
  export declare const platformId = "carrot";
5
5
  export declare const boostProgramId: PublicKey;
6
6
  export declare const banksCacheKey = "banks";
7
+ export declare const crtMint = "CRTx1JouZhzSU6XytsE42UQraoGqiHgxabocVfARTy2s";
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.banksCacheKey = exports.boostProgramId = exports.platformId = void 0;
3
+ exports.crtMint = exports.banksCacheKey = exports.boostProgramId = exports.platformId = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.platformId = 'carrot';
6
6
  exports.boostProgramId = new web3_js_1.PublicKey('C73nDAFn23RYwiFa6vtHshSbcg8x6BLYjw3bERJ3vHxf');
7
7
  exports.banksCacheKey = 'banks';
8
+ exports.crtMint = 'CRTx1JouZhzSU6XytsE42UQraoGqiHgxabocVfARTy2s';
8
9
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/carrot/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,QAAQ,CAAC;AACtB,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,8CAA8C,CAC/C,CAAC;AACW,QAAA,aAAa,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/carrot/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,QAAQ,CAAC;AACtB,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,8CAA8C,CAC/C,CAAC;AACW,QAAA,aAAa,GAAG,OAAO,CAAC;AAExB,QAAA,OAAO,GAAG,8CAA8C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,35 @@
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 axios_1 = __importDefault(require("axios"));
17
+ const constants_1 = require("./constants");
18
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const apiRes = yield axios_1.default.get(`https://api.deficarrot.com/performance?vault=FfCRL34rkJiMiX5emNDrYp3MdWH2mES3FvDQyFppqgpJ&useCache=true`);
20
+ if (apiRes.data.apy) {
21
+ yield cache.setTokenYield({
22
+ address: constants_1.crtMint,
23
+ networkId: portfolio_core_1.NetworkId.solana,
24
+ yield: (0, portfolio_core_1.yieldFromApy)(apiRes.data.apy),
25
+ timestamp: Date.now(),
26
+ });
27
+ }
28
+ });
29
+ const job = {
30
+ id: `${constants_1.platformId}-crt-yield`,
31
+ executor,
32
+ labels: ['normal'],
33
+ };
34
+ exports.default = job;
35
+ //# sourceMappingURL=crtYieldJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crtYieldJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/carrot/crtYieldJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAqE;AACrE,kDAA0B;AAG1B,2CAAkD;AAElD,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,MAAM,eAAK,CAAC,GAAG,CAC5B,yGAAyG,CAC1G,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACpB,MAAM,KAAK,CAAC,aAAa,CAAC;YACxB,OAAO,EAAE,mBAAO;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,KAAK,EAAE,IAAA,6BAAY,EAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,YAAY;IAC7B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}