@sonarwatch/portfolio-plugins 0.15.44 → 0.15.47

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 (66) hide show
  1. package/CHANGELOG.md +2935 -2913
  2. package/README.md +3 -3
  3. package/package.json +3 -2
  4. package/src/index.js +2 -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/fragmetric/airdropFetcher.d.ts +2 -0
  31. package/src/plugins/fragmetric/airdropFetcher.js +48 -0
  32. package/src/plugins/fragmetric/airdropFetcher.js.map +1 -0
  33. package/src/plugins/fragmetric/constants.d.ts +10 -0
  34. package/src/plugins/fragmetric/constants.js +18 -1
  35. package/src/plugins/fragmetric/constants.js.map +1 -1
  36. package/src/plugins/fragmetric/index.d.ts +2 -0
  37. package/src/plugins/fragmetric/index.js +3 -1
  38. package/src/plugins/fragmetric/index.js.map +1 -1
  39. package/src/plugins/kamino/constants.js +4 -0
  40. package/src/plugins/kamino/constants.js.map +1 -1
  41. package/src/plugins/raydium/clmmFetcher.d.ts +4 -1
  42. package/src/plugins/raydium/clmmFetcher.js +81 -79
  43. package/src/plugins/raydium/clmmFetcher.js.map +1 -1
  44. package/src/plugins/raydium/constants.d.ts +1 -1
  45. package/src/plugins/raydium/constants.js +2 -2
  46. package/src/plugins/raydium/constants.js.map +1 -1
  47. package/src/plugins/sushiswap/helpers.js +24 -24
  48. package/src/plugins/switchboard/onDemandPricingJob.js +2 -1
  49. package/src/plugins/switchboard/onDemandPricingJob.js.map +1 -1
  50. package/src/plugins/tokens/fetchers/solana.js +3 -1
  51. package/src/plugins/tokens/fetchers/solana.js.map +1 -1
  52. package/src/plugins/uniswap-v2/helpers.js +22 -22
  53. package/src/plugins/voltr/constants.d.ts +6 -0
  54. package/src/plugins/voltr/constants.js +8 -0
  55. package/src/plugins/voltr/constants.js.map +1 -0
  56. package/src/plugins/voltr/index.d.ts +4 -0
  57. package/src/plugins/voltr/index.js +6 -0
  58. package/src/plugins/voltr/index.js.map +1 -0
  59. package/src/plugins/zeta/airdropFetcher.js +14 -14
  60. package/src/utils/sei/constants.js +8 -8
  61. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
  62. package/src/utils/solana/constants.d.ts +0 -1
  63. package/src/utils/solana/constants.js +1 -2
  64. package/src/utils/solana/constants.js.map +1 -1
  65. package/src/utils/solana/getTokenAccountsByOwner.js +38 -15
  66. package/src/utils/solana/getTokenAccountsByOwner.js.map +1 -1
@@ -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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.fetchers = exports.jobs = void 0;
7
7
  const banksJob_1 = __importDefault(require("./banksJob"));
8
8
  const depositsFetcher_1 = __importDefault(require("./depositsFetcher"));
9
- exports.jobs = [banksJob_1.default];
9
+ const crtYieldJob_1 = __importDefault(require("./crtYieldJob"));
10
+ exports.jobs = [banksJob_1.default, crtYieldJob_1.default];
10
11
  exports.fetchers = [depositsFetcher_1.default];
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/carrot/index.ts"],"names":[],"mappings":";;;;;;AAEA,0DAAkC;AAClC,wEAAgD;AAEnC,QAAA,IAAI,GAAU,CAAC,kBAAQ,CAAC,CAAC;AACzB,QAAA,QAAQ,GAAc,CAAC,yBAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/carrot/index.ts"],"names":[],"mappings":";;;;;;AAEA,0DAAkC;AAClC,wEAAgD;AAChD,gEAAwC;AAE3B,QAAA,IAAI,GAAU,CAAC,kBAAQ,EAAE,qBAAW,CAAC,CAAC;AACtC,QAAA,QAAQ,GAAc,CAAC,yBAAe,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { AirdropFetcher } from '../../AirdropFetcher';
2
+ export declare const airdropFetcher: AirdropFetcher;
@@ -0,0 +1,48 @@
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
+ exports.airdropFetcher = void 0;
16
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
17
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
18
+ const AirdropFetcher_1 = require("../../AirdropFetcher");
19
+ const clients_1 = require("../../utils/clients");
20
+ const getClaimTransactions_1 = require("../../utils/solana/jupiter/getClaimTransactions");
21
+ const deriveClaimStatus_1 = require("../../utils/solana/jupiter/deriveClaimStatus");
22
+ const constants_1 = require("./constants");
23
+ const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
24
+ const client = (0, clients_1.getClientSolana)();
25
+ const claimStatus = (0, deriveClaimStatus_1.deriveClaimStatus)(owner, 'BDWeWshtozDsYrfL1UpHbRG7zeWKZ8fAV7cUCBuum61a', constants_1.distributorPid);
26
+ const claimAccount = yield client.getAccountInfo(claimStatus);
27
+ const claims = yield (0, getClaimTransactions_1.getClaimTransactions)(owner, claimStatus, constants_1.fragMint);
28
+ const totalAmount = claims.reduce((acc, claim) => acc.plus(claim.amount), new bignumber_js_1.default(0));
29
+ return (0, AirdropFetcher_1.getAirdropRaw)({
30
+ statics: constants_1.airdropStatics,
31
+ items: [
32
+ {
33
+ amount: totalAmount.toNumber(),
34
+ isClaimed: !!claimAccount,
35
+ label: 'FRAG',
36
+ address: constants_1.fragMint,
37
+ claims,
38
+ ref: claimAccount ? claimStatus.toString() : undefined,
39
+ },
40
+ ],
41
+ });
42
+ });
43
+ exports.airdropFetcher = {
44
+ id: constants_1.airdropStatics.id,
45
+ networkId: portfolio_core_1.NetworkId.solana,
46
+ executor,
47
+ };
48
+ //# sourceMappingURL=airdropFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/fragmetric/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,gEAAqC;AACrC,yDAI8B;AAC9B,iDAAsD;AACtD,0FAAuF;AACvF,oFAAiF;AACjF,2CAAuE;AAEvE,MAAM,QAAQ,GAA2B,CAAO,KAAa,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IACjC,MAAM,WAAW,GAAG,IAAA,qCAAiB,EACnC,KAAK,EACL,8CAA8C,EAC9C,0BAAc,CACf,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,MAAM,IAAA,2CAAoB,EAAC,KAAK,EAAE,WAAW,EAAE,oBAAQ,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACtC,IAAI,sBAAS,CAAC,CAAC,CAAC,CACjB,CAAC;IACF,OAAO,IAAA,8BAAa,EAAC;QACnB,OAAO,EAAE,0BAAc;QACvB,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;gBAC9B,SAAS,EAAE,CAAC,CAAC,YAAY;gBACzB,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,oBAAQ;gBACjB,MAAM;gBACN,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;aACvD;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEW,QAAA,cAAc,GAAmB;IAC5C,EAAE,EAAE,0BAAc,CAAC,EAAE;IACrB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC"}
@@ -1,8 +1,12 @@
1
1
  /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
2
  /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
3
  import { PublicKey } from '@solana/web3.js';
4
+ import { AirdropStatics } from '../../AirdropFetcher';
4
5
  export declare const platformId = "fragmetric";
5
6
  export declare const fragmetricPid: PublicKey;
7
+ export declare const fragMint = "FRAGMEWj2z65qM62zqKhNtwNFskdfKs4ekDUDX3b4VD5";
8
+ export declare const distributorPid = "fdropWhSi5xVKa9z26qKXveXoHDePDXfb5zxt3RKvKx";
9
+ export declare const airdropStatics: AirdropStatics;
6
10
  export declare const vaults: ({
7
11
  vaultProgramAddress: string;
8
12
  receiptToken: string;
@@ -15,4 +19,10 @@ export declare const vaults: ({
15
19
  tokenMint: string;
16
20
  reserveAccount: string;
17
21
  normalizedTokenPoolAccount?: undefined;
22
+ } | {
23
+ receiptToken: string;
24
+ tokenMint: string;
25
+ reserveAccount: string;
26
+ vaultProgramAddress?: undefined;
27
+ normalizedTokenPoolAccount?: undefined;
18
28
  })[];
@@ -1,9 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.vaults = exports.fragmetricPid = exports.platformId = void 0;
3
+ exports.vaults = exports.airdropStatics = exports.distributorPid = exports.fragMint = exports.fragmetricPid = exports.platformId = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.platformId = 'fragmetric';
6
6
  exports.fragmetricPid = new web3_js_1.PublicKey('fragnAis7Bp6FTsMoa6YcH8UffhEw43Ph79qAiK3iF3');
7
+ exports.fragMint = 'FRAGMEWj2z65qM62zqKhNtwNFskdfKs4ekDUDX3b4VD5';
8
+ exports.distributorPid = 'fdropWhSi5xVKa9z26qKXveXoHDePDXfb5zxt3RKvKx';
9
+ exports.airdropStatics = {
10
+ claimLink: 'https://airdrop.fragmetric.xyz/',
11
+ emitterLink: 'https://fragmetric.xyz/',
12
+ emitterName: 'Fragmetric',
13
+ id: 'fragmetric-airdrop',
14
+ image: 'https://sonarwatch.github.io/portfolio/assets/images/platforms/fragmetric.webp',
15
+ claimStart: 1751355000000,
16
+ claimEnd: 1754033400000,
17
+ };
7
18
  // https://api.fragmetric.xyz/v1/graphql operationName "fragmetricStats"
8
19
  exports.vaults = [
9
20
  {
@@ -24,5 +35,11 @@ exports.vaults = [
24
35
  tokenMint: 'zBTCug3er3tLyffELcvDNrKkCymbPWysGcWihESYfLg',
25
36
  reserveAccount: 'B5eYu4dKBS8bTvLdeZungomcaQx52rDprdKEcyHzgbBD',
26
37
  },
38
+ {
39
+ // vaultProgramAddress: 'BmJvUzoiiNBRx3v2Gqsix9WvVtw8FaztrfBHQyqpMbTd',
40
+ receiptToken: 'FRAG2gPNXozPpYcn2a8zK7YdtfNXCLsioZNwZXwTQ3cP',
41
+ tokenMint: 'FRAGMEWj2z65qM62zqKhNtwNFskdfKs4ekDUDX3b4VD5',
42
+ reserveAccount: '7q7YjoiDCeWudGrRJuL8PoajYYiEB7KAdTURDJi7aTtd',
43
+ },
27
44
  ];
28
45
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/fragmetric/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,aAAa,GAAG,IAAI,mBAAS,CACxC,6CAA6C,CAC9C,CAAC;AAEF,wEAAwE;AAC3D,QAAA,MAAM,GAAG;IACpB;QACE,mBAAmB,EAAE,8CAA8C;QACnE,YAAY,EAAE,8CAA8C;QAC5D,0BAA0B,EAAE,8CAA8C;QAC1E,cAAc,EAAE,8CAA8C;KAC/D;IACD;QACE,mBAAmB,EAAE,8CAA8C;QACnE,YAAY,EAAE,8CAA8C;QAC5D,SAAS,EAAE,6CAA6C;QACxD,cAAc,EAAE,8CAA8C;KAC/D;IACD;QACE,mBAAmB,EAAE,8CAA8C;QACnE,YAAY,EAAE,8CAA8C;QAC5D,SAAS,EAAE,6CAA6C;QACxD,cAAc,EAAE,8CAA8C;KAC/D;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/fragmetric/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,aAAa,GAAG,IAAI,mBAAS,CACxC,6CAA6C,CAC9C,CAAC;AACW,QAAA,QAAQ,GAAG,8CAA8C,CAAC;AAC1D,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC/D,QAAA,cAAc,GAAmB;IAC5C,SAAS,EAAE,iCAAiC;IAC5C,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE,YAAY;IACzB,EAAE,EAAE,oBAAoB;IACxB,KAAK,EACH,gFAAgF;IAClF,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;CACxB,CAAC;AAEF,wEAAwE;AAC3D,QAAA,MAAM,GAAG;IACpB;QACE,mBAAmB,EAAE,8CAA8C;QACnE,YAAY,EAAE,8CAA8C;QAC5D,0BAA0B,EAAE,8CAA8C;QAC1E,cAAc,EAAE,8CAA8C;KAC/D;IACD;QACE,mBAAmB,EAAE,8CAA8C;QACnE,YAAY,EAAE,8CAA8C;QAC5D,SAAS,EAAE,6CAA6C;QACxD,cAAc,EAAE,8CAA8C;KAC/D;IACD;QACE,mBAAmB,EAAE,8CAA8C;QACnE,YAAY,EAAE,8CAA8C;QAC5D,SAAS,EAAE,6CAA6C;QACxD,cAAc,EAAE,8CAA8C;KAC/D;IACD;QACE,uEAAuE;QACvE,YAAY,EAAE,8CAA8C;QAC5D,SAAS,EAAE,8CAA8C;QACzD,cAAc,EAAE,8CAA8C;KAC/D;CACF,CAAC"}
@@ -1,4 +1,6 @@
1
+ import { AirdropFetcher } from '../../AirdropFetcher';
1
2
  import { Fetcher } from '../../Fetcher';
2
3
  import { Job } from '../../Job';
3
4
  export declare const jobs: Job[];
4
5
  export declare const fetchers: Fetcher[];
6
+ export declare const airdropFetchers: AirdropFetcher[];
@@ -3,8 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.fetchers = exports.jobs = void 0;
6
+ exports.airdropFetchers = exports.fetchers = exports.jobs = void 0;
7
7
  const pricingJob_1 = __importDefault(require("./pricingJob"));
8
+ const airdropFetcher_1 = require("./airdropFetcher");
8
9
  exports.jobs = [pricingJob_1.default];
9
10
  exports.fetchers = [];
11
+ exports.airdropFetchers = [airdropFetcher_1.airdropFetcher];
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/fragmetric/index.ts"],"names":[],"mappings":";;;;;;AAEA,8DAAsC;AAEzB,QAAA,IAAI,GAAU,CAAC,oBAAU,CAAC,CAAC;AAC3B,QAAA,QAAQ,GAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/fragmetric/index.ts"],"names":[],"mappings":";;;;;;AAGA,8DAAsC;AACtC,qDAAkD;AAErC,QAAA,IAAI,GAAU,CAAC,oBAAU,CAAC,CAAC;AAC3B,QAAA,QAAQ,GAAc,EAAE,CAAC;AACzB,QAAA,eAAe,GAAqB,CAAC,+BAAc,CAAC,CAAC"}
@@ -71,6 +71,10 @@ exports.lendingConfigs = new Map([
71
71
  'Bybit2vBJGhPF52GBdNaQfUJ6ZpThSgHBobjWZpLPb4B',
72
72
  portfolio_core_1.solanaNativeWrappedAddress,
73
73
  ],
74
+ [
75
+ 'strng7mqqc1MBJJV6vMzYbEqnwVGvKKGKedeCvtktWA',
76
+ portfolio_core_1.solanaNativeWrappedAddress,
77
+ ],
74
78
  ],
75
79
  leveragePairs: [
76
80
  ['6DNSN2BJsaPFdFFc1zP37kkeNe4Usc1Sqkzr9C9vPWcU', solana_1.usdcSolanaMint],
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kamino/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kamino/constants.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
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';
1
4
  import { Fetcher } from '../../Fetcher';
2
5
  import { Cache } from '../../Cache';
3
6
  import { ParsedAccount, TokenAccountWithMetadata } from '../../utils/solana';
4
- export declare const getRaydiumClmmPositions: (tokenAccounts: ParsedAccount<TokenAccountWithMetadata>[], cache: Cache) => Promise<import("@sonarwatch/portfolio-core").PortfolioElement[]>;
7
+ export declare function getRaydiumClmmPositions(platformId?: string, positionsIdentifier?: string, programId?: PublicKey, link?: string): (tokenAccounts: ParsedAccount<TokenAccountWithMetadata>[], cache: Cache) => Promise<import("@sonarwatch/portfolio-core").PortfolioElement[]>;
5
8
  declare const fetcher: Fetcher;
6
9
  export default fetcher;
@@ -19,99 +19,101 @@ const clients_1 = require("../../utils/clients");
19
19
  const clmms_1 = require("./structs/clmms");
20
20
  const helpers_1 = require("./helpers");
21
21
  const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
22
- const getRaydiumClmmPositions = (tokenAccounts, cache) => __awaiter(void 0, void 0, void 0, function* () {
23
- const potentialTokens = tokenAccounts.filter((x) => { var _a; return ((_a = x.metadata) === null || _a === void 0 ? void 0 : _a.name) === constants_1.positionsIdentifier; });
24
- if (!potentialTokens.length)
25
- return [];
26
- const positionsProgramAddress = potentialTokens.map((address) => web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('position'), address.mint.toBuffer()], constants_1.raydiumProgram)[0]);
27
- const client = (0, clients_1.getClientSolana)();
28
- const personalPositionsInfo = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, clmms_1.personalPositionStateStruct, positionsProgramAddress);
29
- if (!personalPositionsInfo || personalPositionsInfo.length === 0)
30
- return [];
31
- const poolsIds = personalPositionsInfo.flatMap((position) => position ? position.poolId : []);
32
- const [poolStatesInfo, poolsStats] = yield Promise.all([
33
- (0, solana_1.getParsedMultipleAccountsInfo)(client, clmms_1.poolStateStruct, poolsIds),
34
- cache.getItems(poolsIds.map((p) => p.toString()), { prefix: constants_1.poolStatsPrefix, networkId: portfolio_core_1.NetworkId.solana }),
35
- ]);
36
- const tickArrays = yield Promise.all(personalPositionsInfo.map((personalPositionInfo, index) => {
37
- if (!personalPositionInfo)
22
+ function getRaydiumClmmPositions(platformId = constants_1.platformId, positionsIdentifier = constants_1.raydiumPositionsIdentifier, programId = constants_1.raydiumProgram, link = 'https://raydium.io/portfolio/?position_tab=concentrated') {
23
+ return (tokenAccounts, cache) => __awaiter(this, void 0, void 0, function* () {
24
+ const potentialTokens = tokenAccounts.filter((x) => { var _a; return ((_a = x.metadata) === null || _a === void 0 ? void 0 : _a.name) === positionsIdentifier; });
25
+ if (!potentialTokens.length)
38
26
  return [];
39
- const poolStateInfo = poolStatesInfo[index];
40
- if (!poolStateInfo)
27
+ const positionsProgramAddress = potentialTokens.map((address) => web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('position'), address.mint.toBuffer()], programId)[0]);
28
+ const client = (0, clients_1.getClientSolana)();
29
+ const personalPositionsInfo = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, clmms_1.personalPositionStateStruct, positionsProgramAddress);
30
+ if (!personalPositionsInfo || personalPositionsInfo.length === 0)
41
31
  return [];
42
- return (0, solana_1.getParsedMultipleAccountsInfo)(client, clmms_1.tickArrayStatetruct, [
43
- (0, helpers_1.getTickArrayAddress)(constants_1.raydiumProgram.toString(), poolStateInfo.pubkey.toString(), personalPositionInfo.tickLowerIndex, poolStateInfo.tickSpacing),
44
- (0, helpers_1.getTickArrayAddress)(constants_1.raydiumProgram.toString(), poolStateInfo.pubkey.toString(), personalPositionInfo.tickUpperIndex, poolStateInfo.tickSpacing),
32
+ const poolsIds = personalPositionsInfo.flatMap((position) => position ? position.poolId : []);
33
+ const [poolStatesInfo, poolsStats] = yield Promise.all([
34
+ (0, solana_1.getParsedMultipleAccountsInfo)(client, clmms_1.poolStateStruct, poolsIds),
35
+ cache.getItems(poolsIds.map((p) => p.toString()), { prefix: constants_1.poolStatsPrefix, networkId: portfolio_core_1.NetworkId.solana }),
45
36
  ]);
46
- }));
47
- const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
48
- for (let index = 0; index < personalPositionsInfo.length; index++) {
49
- const personalPositionInfo = personalPositionsInfo[index];
50
- if (!personalPositionInfo)
51
- continue;
52
- const poolStateInfo = poolStatesInfo.find((p) => p && personalPositionInfo.poolId.toString() === p.pubkey.toString());
53
- if (!poolStateInfo)
54
- continue;
55
- const element = elementRegistry.addElementConcentratedLiquidity({
56
- link: 'https://raydium.io/portfolio/?position_tab=concentrated',
57
- });
58
- const poolStats = poolsStats.find((p) => (p === null || p === void 0 ? void 0 : p.address) === personalPositionInfo.poolId.toString());
59
- const liquidity = element.setLiquidity({
60
- addressA: poolStateInfo.tokenMint0,
61
- addressB: poolStateInfo.tokenMint1,
62
- liquidity: personalPositionInfo.liquidity,
63
- tickCurrentIndex: poolStateInfo.tickCurrent,
64
- tickLowerIndex: personalPositionInfo.tickLowerIndex,
65
- tickUpperIndex: personalPositionInfo.tickUpperIndex,
66
- ref: personalPositionInfo.pubkey,
67
- swapVolume24h: poolStats === null || poolStats === void 0 ? void 0 : poolStats.stats['24h'].volume,
68
- feeRate: poolStats === null || poolStats === void 0 ? void 0 : poolStats.feeRate,
69
- currentSqrtPrice: poolStateInfo.sqrtPriceX64,
70
- poolLiquidity: poolStateInfo.liquidity,
71
- sourceRefs: [
72
- {
73
- name: 'Pool',
74
- address: personalPositionInfo.poolId.toString(),
75
- },
76
- {
77
- name: 'NFT Mint',
78
- address: personalPositionInfo.nftMint.toString(),
79
- },
80
- ],
81
- });
82
- const feesAndRewardsBalances = (0, helpers_1.getFeesAndRewardsBalance)(personalPositionInfo, poolStateInfo, tickArrays[index]);
83
- if (feesAndRewardsBalances) {
84
- liquidity.addRewardAsset({
85
- address: poolStateInfo.tokenMint0,
86
- amount: feesAndRewardsBalances.tokenFeeAmountA,
37
+ const tickArrays = yield Promise.all(personalPositionsInfo.map((personalPositionInfo, index) => {
38
+ if (!personalPositionInfo)
39
+ return [];
40
+ const poolStateInfo = poolStatesInfo[index];
41
+ if (!poolStateInfo)
42
+ return [];
43
+ return (0, solana_1.getParsedMultipleAccountsInfo)(client, clmms_1.tickArrayStatetruct, [
44
+ (0, helpers_1.getTickArrayAddress)(constants_1.raydiumProgram.toString(), poolStateInfo.pubkey.toString(), personalPositionInfo.tickLowerIndex, poolStateInfo.tickSpacing),
45
+ (0, helpers_1.getTickArrayAddress)(constants_1.raydiumProgram.toString(), poolStateInfo.pubkey.toString(), personalPositionInfo.tickUpperIndex, poolStateInfo.tickSpacing),
46
+ ]);
47
+ }));
48
+ const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, platformId);
49
+ for (let index = 0; index < personalPositionsInfo.length; index++) {
50
+ const personalPositionInfo = personalPositionsInfo[index];
51
+ if (!personalPositionInfo)
52
+ continue;
53
+ const poolStateInfo = poolStatesInfo.find((p) => p && personalPositionInfo.poolId.toString() === p.pubkey.toString());
54
+ if (!poolStateInfo)
55
+ continue;
56
+ const element = elementRegistry.addElementConcentratedLiquidity({
57
+ link,
87
58
  });
88
- liquidity.addRewardAsset({
89
- address: poolStateInfo.tokenMint1,
90
- amount: feesAndRewardsBalances.tokenFeeAmountB,
59
+ const poolStats = poolsStats.find((p) => (p === null || p === void 0 ? void 0 : p.address) === personalPositionInfo.poolId.toString());
60
+ const liquidity = element.setLiquidity({
61
+ addressA: poolStateInfo.tokenMint0,
62
+ addressB: poolStateInfo.tokenMint1,
63
+ liquidity: personalPositionInfo.liquidity,
64
+ tickCurrentIndex: poolStateInfo.tickCurrent,
65
+ tickLowerIndex: personalPositionInfo.tickLowerIndex,
66
+ tickUpperIndex: personalPositionInfo.tickUpperIndex,
67
+ ref: personalPositionInfo.pubkey,
68
+ swapVolume24h: poolStats === null || poolStats === void 0 ? void 0 : poolStats.stats['24h'].volume,
69
+ feeRate: poolStats === null || poolStats === void 0 ? void 0 : poolStats.feeRate,
70
+ currentSqrtPrice: poolStateInfo.sqrtPriceX64,
71
+ poolLiquidity: poolStateInfo.liquidity,
72
+ sourceRefs: [
73
+ {
74
+ name: 'Pool',
75
+ address: personalPositionInfo.poolId.toString(),
76
+ },
77
+ {
78
+ name: 'NFT Mint',
79
+ address: personalPositionInfo.nftMint.toString(),
80
+ },
81
+ ],
91
82
  });
92
- feesAndRewardsBalances.rewards.forEach((rewardBalance, i) => {
93
- if (rewardBalance.isZero() ||
94
- poolStateInfo.rewardInfos[i].tokenMint.toString() ===
95
- '11111111111111111111111111111111')
96
- return;
83
+ const feesAndRewardsBalances = (0, helpers_1.getFeesAndRewardsBalance)(personalPositionInfo, poolStateInfo, tickArrays[index]);
84
+ if (feesAndRewardsBalances) {
97
85
  liquidity.addRewardAsset({
98
- address: poolStateInfo.rewardInfos[i].tokenMint,
99
- amount: rewardBalance,
86
+ address: poolStateInfo.tokenMint0,
87
+ amount: feesAndRewardsBalances.tokenFeeAmountA,
100
88
  });
101
- });
89
+ liquidity.addRewardAsset({
90
+ address: poolStateInfo.tokenMint1,
91
+ amount: feesAndRewardsBalances.tokenFeeAmountB,
92
+ });
93
+ feesAndRewardsBalances.rewards.forEach((rewardBalance, i) => {
94
+ if (rewardBalance.isZero() ||
95
+ poolStateInfo.rewardInfos[i].tokenMint.toString() ===
96
+ '11111111111111111111111111111111')
97
+ return;
98
+ liquidity.addRewardAsset({
99
+ address: poolStateInfo.rewardInfos[i].tokenMint,
100
+ amount: rewardBalance,
101
+ });
102
+ });
103
+ }
102
104
  }
103
- }
104
- return elementRegistry.getElements(cache);
105
- });
105
+ return elementRegistry.getElements(cache);
106
+ });
107
+ }
106
108
  exports.getRaydiumClmmPositions = getRaydiumClmmPositions;
107
- const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
109
+ const raydiumExecutor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
108
110
  const potentialTokens = yield (0, getTokenAccountsByOwner_1.getTokenAccountsByOwner)((0, clients_1.getClientSolana)(), owner);
109
- return (0, exports.getRaydiumClmmPositions)(potentialTokens, cache);
111
+ return getRaydiumClmmPositions()(potentialTokens, cache);
110
112
  });
111
113
  const fetcher = {
112
114
  id: `${constants_1.platformId}-clmm`,
113
115
  networkId: portfolio_core_1.NetworkId.solana,
114
- executor,
116
+ executor: raydiumExecutor,
115
117
  };
116
118
  exports.default = fetcher;
117
119
  //# sourceMappingURL=clmmFetcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clmmFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/raydium/clmmFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAuD;AACvD,6CAA4C;AAC5C,2CAKqB;AAGrB,wFAAqF;AACrF,+CAI4B;AAC5B,iDAAsD;AACtD,2CAIyB;AAEzB,uCAA0E;AAC1E,gFAA6E;AAEtE,MAAM,uBAAuB,GAAG,CACrC,aAAwD,EACxD,KAAY,EACZ,EAAE;IACF,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,MAAK,+BAAmB,CAAA,EAAA,CAChD,CAAC;IAEF,IAAI,CAAC,eAAe,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,uBAAuB,GAAG,eAAe,CAAC,GAAG,CACjD,CAAC,OAAO,EAAE,EAAE,CACV,mBAAS,CAAC,sBAAsB,CAC9B,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAClD,0BAAc,CACf,CAAC,CAAC,CAAC,CACP,CAAC;IAEF,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,qBAAqB,GAAG,MAAM,IAAA,sCAA6B,EAC/D,MAAM,EACN,mCAA2B,EAC3B,uBAAuB,CACxB,CAAC;IACF,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5E,MAAM,QAAQ,GAAgB,qBAAqB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACvE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAChC,CAAC;IAEF,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,IAAA,sCAA6B,EAAC,MAAM,EAAE,uBAAe,EAAE,QAAQ,CAAC;QAChE,KAAK,CAAC,QAAQ,CACZ,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EACjC,EAAE,MAAM,EAAE,2BAAe,EAAE,SAAS,EAAE,0BAAS,CAAC,MAAM,EAAE,CACzD;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,qBAAqB,CAAC,GAAG,CAAC,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE;QACxD,IAAI,CAAC,oBAAoB;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAE9B,OAAO,IAAA,sCAA6B,EAAC,MAAM,EAAE,2BAAmB,EAAE;YAChE,IAAA,6BAAmB,EACjB,0BAAc,CAAC,QAAQ,EAAE,EACzB,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC/B,oBAAoB,CAAC,cAAc,EACnC,aAAa,CAAC,WAAW,CAC1B;YACD,IAAA,6BAAmB,EACjB,0BAAc,CAAC,QAAQ,EAAE,EACzB,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC/B,oBAAoB,CAAC,cAAc,EACnC,aAAa,CAAC,WAAW,CAC1B;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IAE1E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClE,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,oBAAoB;YAAE,SAAS;QAEpC,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAC3E,CAAC;QACF,IAAI,CAAC,aAAa;YAAE,SAAS;QAE7B,MAAM,OAAO,GAAG,eAAe,CAAC,+BAA+B,CAAC;YAC9D,IAAI,EAAE,yDAAyD;SAChE,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,MAAK,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAC7D,CAAC;QAEF,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;YACrC,QAAQ,EAAE,aAAa,CAAC,UAAU;YAClC,QAAQ,EAAE,aAAa,CAAC,UAAU;YAClC,SAAS,EAAE,oBAAoB,CAAC,SAAS;YACzC,gBAAgB,EAAE,aAAa,CAAC,WAAW;YAC3C,cAAc,EAAE,oBAAoB,CAAC,cAAc;YACnD,cAAc,EAAE,oBAAoB,CAAC,cAAc;YACnD,GAAG,EAAE,oBAAoB,CAAC,MAAM;YAChC,aAAa,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,KAAK,EAAE,MAAM;YAC7C,OAAO,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO;YAC3B,gBAAgB,EAAE,aAAa,CAAC,YAAY;YAC5C,aAAa,EAAE,aAAa,CAAC,SAAS;YACtC,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE;iBAChD;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE;iBACjD;aACF;SACF,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAAG,IAAA,kCAAwB,EACrD,oBAAoB,EACpB,aAAa,EACb,UAAU,CAAC,KAAK,CAAC,CAClB,CAAC;QAEF,IAAI,sBAAsB,EAAE,CAAC;YAC3B,SAAS,CAAC,cAAc,CAAC;gBACvB,OAAO,EAAE,aAAa,CAAC,UAAU;gBACjC,MAAM,EAAE,sBAAsB,CAAC,eAAe;aAC/C,CAAC,CAAC;YAEH,SAAS,CAAC,cAAc,CAAC;gBACvB,OAAO,EAAE,aAAa,CAAC,UAAU;gBACjC,MAAM,EAAE,sBAAsB,CAAC,eAAe;aAC/C,CAAC,CAAC;YAEH,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE;gBAC1D,IACE,aAAa,CAAC,MAAM,EAAE;oBACtB,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;wBAC/C,kCAAkC;oBAEpC,OAAO;gBAET,SAAS,CAAC,cAAc,CAAC;oBACvB,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC/C,MAAM,EAAE,aAAa;iBACtB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AA3IW,QAAA,uBAAuB,2BA2IlC;AAEF,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,eAAe,GAAG,MAAM,IAAA,iDAAuB,EACnD,IAAA,yBAAe,GAAE,EACjB,KAAK,CACN,CAAC;IAEF,OAAO,IAAA,+BAAuB,EAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,OAAO;IACxB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"clmmFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/raydium/clmmFetcher.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,5 @@ export declare const AMM_PROGRAM_ID_V4: PublicKey;
10
10
  export declare const AMM_PROGRAM_ID_V5: PublicKey;
11
11
  export declare const raydiumProgram: PublicKey;
12
12
  export declare const cpmmProgramId: PublicKey;
13
- export declare const positionsIdentifier = "Raydium Concentrated Liquidity";
13
+ export declare const raydiumPositionsIdentifier = "Raydium Concentrated Liquidity";
14
14
  export declare const rayDecimals = 6;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rayDecimals = exports.positionsIdentifier = exports.cpmmProgramId = exports.raydiumProgram = exports.AMM_PROGRAM_ID_V5 = exports.AMM_PROGRAM_ID_V4 = exports.AMM_PROGRAM_ID_V3 = exports.apiV3 = exports.poolStatsPrefix = exports.rayMint = exports.platformId = void 0;
3
+ exports.rayDecimals = exports.raydiumPositionsIdentifier = exports.cpmmProgramId = exports.raydiumProgram = exports.AMM_PROGRAM_ID_V5 = exports.AMM_PROGRAM_ID_V4 = exports.AMM_PROGRAM_ID_V3 = exports.apiV3 = exports.poolStatsPrefix = exports.rayMint = exports.platformId = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.platformId = 'raydium';
6
6
  exports.rayMint = '4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R';
@@ -11,6 +11,6 @@ exports.AMM_PROGRAM_ID_V4 = new web3_js_1.PublicKey('675kPX9MHTjS2zt1qfr1NYHuzeL
11
11
  exports.AMM_PROGRAM_ID_V5 = new web3_js_1.PublicKey('5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h');
12
12
  exports.raydiumProgram = new web3_js_1.PublicKey('CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK');
13
13
  exports.cpmmProgramId = new web3_js_1.PublicKey('CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C');
14
- exports.positionsIdentifier = 'Raydium Concentrated Liquidity';
14
+ exports.raydiumPositionsIdentifier = 'Raydium Concentrated Liquidity';
15
15
  exports.rayDecimals = 6;
16
16
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/raydium/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,OAAO,GAAG,8CAA8C,CAAC;AAEzD,QAAA,eAAe,GAAG,oBAAoB,CAAC;AACvC,QAAA,KAAK,GAAG,4BAA4B,CAAC;AAErC,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,8CAA8C,CAC/C,CAAC;AACW,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,aAAa,GAAG,IAAI,mBAAS,CACxC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,mBAAmB,GAAG,gCAAgC,CAAC;AAEvD,QAAA,WAAW,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/raydium/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,OAAO,GAAG,8CAA8C,CAAC;AAEzD,QAAA,eAAe,GAAG,oBAAoB,CAAC;AACvC,QAAA,KAAK,GAAG,4BAA4B,CAAC;AAErC,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,8CAA8C,CAC/C,CAAC;AACW,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,aAAa,GAAG,IAAI,mBAAS,CACxC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,0BAA0B,GAAG,gCAAgC,CAAC;AAE9D,QAAA,WAAW,GAAG,CAAC,CAAC"}
@@ -54,30 +54,30 @@ function sushiV3PairToUniV2(pair) {
54
54
  }
55
55
  function getV3PairsAddresses(url, length = 300) {
56
56
  return __awaiter(this, void 0, void 0, function* () {
57
- const query = (0, graphql_request_1.gql) `
58
- {
59
- pools(
60
- orderBy: totalValueLockedUSD
61
- first: ${length}
62
- orderDirection: desc
63
- where: { volumeUSD_not: "0", liquidity_not: "0" }
64
- ) {
65
- id
66
- token0Price
67
- token1Price
68
- liquidity
69
- token0 {
70
- id
71
- totalSupply
72
- decimals
73
- }
74
- token1 {
75
- id
76
- totalSupply
77
- decimals
78
- }
79
- }
80
- }
57
+ const query = (0, graphql_request_1.gql) `
58
+ {
59
+ pools(
60
+ orderBy: totalValueLockedUSD
61
+ first: ${length}
62
+ orderDirection: desc
63
+ where: { volumeUSD_not: "0", liquidity_not: "0" }
64
+ ) {
65
+ id
66
+ token0Price
67
+ token1Price
68
+ liquidity
69
+ token0 {
70
+ id
71
+ totalSupply
72
+ decimals
73
+ }
74
+ token1 {
75
+ id
76
+ totalSupply
77
+ decimals
78
+ }
79
+ }
80
+ }
81
81
  `;
82
82
  const res = yield (0, graphql_request_1.default)(url, query);
83
83
  const pools = res.pools;
@@ -17,6 +17,7 @@ const getSwitchboardOnDemandPrice_1 = require("./helpers/getSwitchboardOnDemandP
17
17
  const getDecimalsForToken_1 = require("../../utils/misc/getDecimalsForToken");
18
18
  const solana_1 = require("../../utils/solana");
19
19
  const constants_2 = require("../huma/constants");
20
+ const constants_3 = require("../carrot/constants");
20
21
  const feedsToFetch = [
21
22
  {
22
23
  feedsAddresses: [
@@ -34,7 +35,7 @@ const feedsToFetch = [
34
35
  },
35
36
  {
36
37
  feedsAddresses: ['GQbKvThYgyvdp8T8MoE8KKD2NngXumQ8mDkCLxmhvJKm'],
37
- mintAddress: solana_1.crtSolanaMint,
38
+ mintAddress: constants_3.crtMint,
38
39
  networkId: portfolio_core_1.NetworkId.solana,
39
40
  },
40
41
  {
@@ -1 +1 @@
1
- {"version":3,"file":"onDemandPricingJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/switchboard/onDemandPricingJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAKoC;AACpC,6CAA4C;AAG5C,2CAAyC;AACzC,iDAAsD;AACtD,uFAAqF;AACrF,8EAA2E;AAE3E,+CAAmE;AACnE,iDAA4C;AAE5C,MAAM,YAAY,GAAkC;IAClD;QACE,cAAc,EAAE;YACd,8CAA8C;YAC9C,8CAA8C;YAC9C,8CAA8C;SAC/C;QACD,SAAS,EAAE,0BAAS,CAAC,MAAM;QAC3B,WAAW,EAAE,2CAA0B;KACxC;IACD;QACE,cAAc,EAAE,CAAC,8CAA8C,CAAC;QAChE,WAAW,EAAE,uBAAc;QAC3B,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B;IACD;QACE,cAAc,EAAE,CAAC,8CAA8C,CAAC;QAChE,WAAW,EAAE,sBAAa;QAC1B,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B;IACD;QACE,cAAc,EAAE,CAAC,8CAA8C,CAAC;QAChE,WAAW,EAAE,mBAAO;QACpB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B;CACF,CAAC;AAEF,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,IAAA,0DAA4B,EAC/C,UAAU,EACV,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,yCAAmB,EACxC,SAAS,CAAC,WAAW,EACrB,0BAAS,CAAC,MAAM,CACjB,CAAC;QAEF,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEhC,MAAM,MAAM,GAAqB;gBAC/B,OAAO,EAAE,SAAS,CAAC,WAAW;gBAC9B,QAAQ;gBACR,EAAE,EAAE,GAAG,sBAAU,SAAS,WAAW,CAAC,QAAQ,EAAE,EAAE;gBAClD,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,UAAU,EAAE,uCAAsB;gBAClC,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,KAAK;aACN,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,mBAAmB;IACpC,QAAQ;IACR,MAAM,EAAE,CAAC,UAAU,CAAC;CACrB,CAAC;AACF,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"onDemandPricingJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/switchboard/onDemandPricingJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAKoC;AACpC,6CAA4C;AAG5C,2CAAyC;AACzC,iDAAsD;AACtD,uFAAqF;AACrF,8EAA2E;AAE3E,+CAAoD;AACpD,iDAA4C;AAC5C,mDAA8C;AAE9C,MAAM,YAAY,GAAkC;IAClD;QACE,cAAc,EAAE;YACd,8CAA8C;YAC9C,8CAA8C;YAC9C,8CAA8C;SAC/C;QACD,SAAS,EAAE,0BAAS,CAAC,MAAM;QAC3B,WAAW,EAAE,2CAA0B;KACxC;IACD;QACE,cAAc,EAAE,CAAC,8CAA8C,CAAC;QAChE,WAAW,EAAE,uBAAc;QAC3B,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B;IACD;QACE,cAAc,EAAE,CAAC,8CAA8C,CAAC;QAChE,WAAW,EAAE,mBAAO;QACpB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B;IACD;QACE,cAAc,EAAE,CAAC,8CAA8C,CAAC;QAChE,WAAW,EAAE,mBAAO;QACpB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B;CACF,CAAC;AAEF,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,IAAA,yBAAe,GAAE,CAAC;IACrC,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,IAAA,0DAA4B,EAC/C,UAAU,EACV,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,yCAAmB,EACxC,SAAS,CAAC,WAAW,EACrB,0BAAS,CAAC,MAAM,CACjB,CAAC;QAEF,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEhC,MAAM,MAAM,GAAqB;gBAC/B,OAAO,EAAE,SAAS,CAAC,WAAW;gBAC9B,QAAQ;gBACR,EAAE,EAAE,GAAG,sBAAU,SAAS,WAAW,CAAC,QAAQ,EAAE,EAAE;gBAClD,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,UAAU,EAAE,uCAAsB;gBAClC,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,KAAK;aACN,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,mBAAmB;IACpC,QAAQ;IACR,MAAM,EAAE,CAAC,UAAU,CAAC;CACrB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -23,6 +23,7 @@ const cpammPositionsFetcher_1 = require("../../meteora/cpamm/cpammPositionsFetch
23
23
  const clmmFetcher_1 = require("../../raydium/clmmFetcher");
24
24
  const resizableNftFetcher_1 = require("../../metaplex/resizableNftFetcher");
25
25
  const clients_1 = require("../../../utils/clients");
26
+ const constants_3 = require("../../byreal/constants");
26
27
  const getSolanaTokens = (simple) => (tokenAccounts, cache) => __awaiter(void 0, void 0, void 0, function* () {
27
28
  const fungibleAddresses = tokenAccounts.map((ta) => ta.mint.toString());
28
29
  const tokenPrices = yield cache.getTokenPricesAsMap(fungibleAddresses, portfolio_core_1.NetworkId.solana);
@@ -78,7 +79,8 @@ const getSolanaTokens = (simple) => (tokenAccounts, cache) => __awaiter(void 0,
78
79
  });
79
80
  exports.getSolanaTokens = getSolanaTokens;
80
81
  const tokensFetchers = [
81
- clmmFetcher_1.getRaydiumClmmPositions,
82
+ (0, clmmFetcher_1.getRaydiumClmmPositions)(),
83
+ constants_3.getByrealClmmPositions,
82
84
  cpammPositionsFetcher_1.getMeteoraCpammPositions,
83
85
  (0, getWhirlpoolPositions_1.getOrcaPositions)(constants_1.platformId),
84
86
  (0, getWhirlpoolPositions_1.getOrcaPositions)(constants_2.platformId, constants_2.clmmPid),