@sonarwatch/portfolio-plugins 0.14.193 → 0.14.194

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 (86) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/package.json +1 -1
  3. package/src/plugins/aurory/constants.js +1 -1
  4. package/src/plugins/debridge/dlmmVaultsJob.js +2 -2
  5. package/src/plugins/debridge/dlmmVaultsJob.js.map +1 -1
  6. package/src/plugins/fragmetric/constants.js +6 -0
  7. package/src/plugins/fragmetric/constants.js.map +1 -1
  8. package/src/plugins/hawksight/positionsFetcher.js +1 -1
  9. package/src/plugins/hawksight/positionsFetcher.js.map +1 -1
  10. package/src/plugins/jupiter/helpers.js +1 -1
  11. package/src/plugins/jupiter/helpers.js.map +1 -1
  12. package/src/plugins/kamino/helpers/vaults.d.ts +1 -1
  13. package/src/plugins/kamino/helpers/vaults.js +4 -4
  14. package/src/plugins/kamino/helpers/vaults.js.map +1 -1
  15. package/src/plugins/kamino/poolsJob.js +2 -2
  16. package/src/plugins/kamino/poolsJob.js.map +1 -1
  17. package/src/plugins/meteora/constants.d.ts +1 -0
  18. package/src/plugins/meteora/constants.js +2 -1
  19. package/src/plugins/meteora/constants.js.map +1 -1
  20. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.d.ts +3 -0
  21. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.js +86 -0
  22. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.js.map +1 -0
  23. package/src/plugins/meteora/cpamm/cpammV2Job.d.ts +3 -0
  24. package/src/plugins/meteora/cpamm/cpammV2Job.js +83 -0
  25. package/src/plugins/meteora/cpamm/cpammV2Job.js.map +1 -0
  26. package/src/plugins/meteora/cpamm/helpers.d.ts +17 -0
  27. package/src/plugins/meteora/cpamm/helpers.js +83 -0
  28. package/src/plugins/meteora/cpamm/helpers.js.map +1 -0
  29. package/src/plugins/meteora/cpamm/structs.d.ts +131 -0
  30. package/src/plugins/meteora/cpamm/structs.js +128 -0
  31. package/src/plugins/meteora/cpamm/structs.js.map +1 -0
  32. package/src/plugins/meteora/{dlmmHelper.d.ts → dlmm/dlmmHelper.d.ts} +2 -2
  33. package/src/plugins/meteora/{dlmmHelper.js → dlmm/dlmmHelper.js} +3 -3
  34. package/src/plugins/meteora/dlmm/dlmmHelper.js.map +1 -0
  35. package/src/plugins/meteora/{dlmmPositionsFetcher.d.ts → dlmm/dlmmPositionsFetcher.d.ts} +1 -1
  36. package/src/plugins/meteora/{dlmmPositionsFetcher.js → dlmm/dlmmPositionsFetcher.js} +12 -12
  37. package/src/plugins/meteora/dlmm/dlmmPositionsFetcher.js.map +1 -0
  38. package/src/plugins/meteora/{dlmmVaultsFetcher.d.ts → dlmm/dlmmVaultsFetcher.d.ts} +1 -1
  39. package/src/plugins/meteora/{dlmmVaultsFetcher.js → dlmm/dlmmVaultsFetcher.js} +5 -5
  40. package/src/plugins/meteora/dlmm/dlmmVaultsFetcher.js.map +1 -0
  41. package/src/plugins/meteora/{dlmmVaultsJob.d.ts → dlmm/dlmmVaultsJob.d.ts} +1 -1
  42. package/src/plugins/meteora/{dlmmVaultsJob.js → dlmm/dlmmVaultsJob.js} +6 -6
  43. package/src/plugins/meteora/dlmm/dlmmVaultsJob.js.map +1 -0
  44. package/src/plugins/meteora/dlmm/structs.d.ts +159 -0
  45. package/src/plugins/meteora/dlmm/structs.js +163 -0
  46. package/src/plugins/meteora/dlmm/structs.js.map +1 -0
  47. package/src/plugins/meteora/index.js +13 -9
  48. package/src/plugins/meteora/index.js.map +1 -1
  49. package/src/plugins/meteora/{multiTokenPoolsJob.d.ts → multiTokenPools/multiTokenPoolsJob.d.ts} +1 -1
  50. package/src/plugins/meteora/{multiTokenPoolsJob.js → multiTokenPools/multiTokenPoolsJob.js} +4 -4
  51. package/src/plugins/meteora/multiTokenPools/multiTokenPoolsJob.js.map +1 -0
  52. package/src/plugins/meteora/{farmsFetcher.d.ts → pools/farmsFetcher.d.ts} +1 -1
  53. package/src/plugins/meteora/{farmsFetcher.js → pools/farmsFetcher.js} +6 -6
  54. package/src/plugins/meteora/pools/farmsFetcher.js.map +1 -0
  55. package/src/plugins/meteora/{farmsJob.d.ts → pools/farmsJob.d.ts} +1 -1
  56. package/src/plugins/meteora/{farmsJob.js → pools/farmsJob.js} +6 -6
  57. package/src/plugins/meteora/pools/farmsJob.js.map +1 -0
  58. package/src/plugins/meteora/{poolsJob.d.ts → pools/poolsJob.d.ts} +1 -1
  59. package/src/plugins/meteora/{poolsJob.js → pools/poolsJob.js} +6 -6
  60. package/src/plugins/meteora/pools/poolsJob.js.map +1 -0
  61. package/src/plugins/meteora/{stakeForFeeFetcher.d.ts → stake2earn/stakeForFeeFetcher.d.ts} +1 -1
  62. package/src/plugins/meteora/{stakeForFeeFetcher.js → stake2earn/stakeForFeeFetcher.js} +9 -9
  63. package/src/plugins/meteora/stake2earn/stakeForFeeFetcher.js.map +1 -0
  64. package/src/plugins/meteora/{stakeForFeeVaultsJob.d.ts → stake2earn/stakeForFeeVaultsJob.d.ts} +1 -1
  65. package/src/plugins/meteora/{stakeForFeeVaultsJob.js → stake2earn/stakeForFeeVaultsJob.js} +6 -6
  66. package/src/plugins/meteora/stake2earn/stakeForFeeVaultsJob.js.map +1 -0
  67. package/src/plugins/meteora/stake2earn/structs.d.ts +44 -0
  68. package/src/plugins/meteora/stake2earn/structs.js +42 -0
  69. package/src/plugins/meteora/stake2earn/structs.js.map +1 -0
  70. package/src/plugins/meteora/struct.d.ts +0 -191
  71. package/src/plugins/meteora/struct.js +1 -192
  72. package/src/plugins/meteora/struct.js.map +1 -1
  73. package/src/plugins/meteora/types.d.ts +1 -1
  74. package/src/utils/elementbuilder/ElementLeverageBuilder.js +4 -0
  75. package/src/utils/elementbuilder/ElementLeverageBuilder.js.map +1 -1
  76. package/src/plugins/meteora/dlmmHelper.js.map +0 -1
  77. package/src/plugins/meteora/dlmmPositionsFetcher.js.map +0 -1
  78. package/src/plugins/meteora/dlmmVaultsFetcher.js.map +0 -1
  79. package/src/plugins/meteora/dlmmVaultsJob.js.map +0 -1
  80. package/src/plugins/meteora/farmsFetcher.js.map +0 -1
  81. package/src/plugins/meteora/farmsJob.js.map +0 -1
  82. package/src/plugins/meteora/multiTokenPoolsJob.js.map +0 -1
  83. package/src/plugins/meteora/poolsJob.js.map +0 -1
  84. package/src/plugins/meteora/stakeForFeeFetcher.js.map +0 -1
  85. package/src/plugins/meteora/stakeForFeeVaultsJob.js.map +0 -1
  86. /package/src/plugins/meteora/{multiTokenPools.json → multiTokenPools/multiTokenPools.json} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.14.194](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.193...plugins-0.14.194) (2025-05-02)
6
+
7
+
8
+ ### Features
9
+
10
+ * **services:** add staking and contract definitions for multiple platforms ([143337b](https://github.com/sonarwatch/portfolio/commit/143337befedf80658f8dc64368d8fdfa1c116145))
11
+
12
+
13
+
5
14
  ## [0.14.193](https://github.com/sonarwatch/portfolio/compare/plugins-0.14.192...plugins-0.14.193) (2025-04-30)
6
15
 
7
16
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-plugins",
3
- "version": "0.14.193",
3
+ "version": "0.14.194",
4
4
  "type": "commonjs",
5
5
  "types": "./src/index.d.ts",
6
6
  "peerDependencies": {
@@ -4,7 +4,7 @@ exports.vaultPubkey = exports.decimals = exports.xAuryMint = exports.programId =
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.platformId = 'aurory';
6
6
  exports.auryMint = 'AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP';
7
- exports.programId = new web3_js_1.PublicKey('StKLLTf7CQ9n5BgXPSDXENovLTCuNc7N2ehvTb6JZ5x');
7
+ exports.programId = new web3_js_1.PublicKey('STkwf3sbMapjy7KV3hgrJtcVvY4SvRxWQ8pj4Enw1i5');
8
8
  exports.xAuryMint = 'xAURp5XmAG7772mfkSy6vRAjGK9JofYjc3dmQDWdVDP';
9
9
  exports.decimals = 9;
10
10
  exports.vaultPubkey = 'FysGks3izhgVhrUkub9QQWCTEVAdhkZKYSNK2F25maGD';
@@ -14,11 +14,11 @@ const clients_1 = require("../../utils/clients");
14
14
  const solana_1 = require("../../utils/solana");
15
15
  const filters_1 = require("../../utils/solana/filters");
16
16
  const constants_1 = require("./constants");
17
- const struct_1 = require("../meteora/struct");
17
+ const structs_1 = require("../meteora/dlmm/structs");
18
18
  const constants_2 = require("../meteora/constants");
19
19
  const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
20
20
  const client = (0, clients_1.getClientSolana)();
21
- const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, struct_1.dlmmVaultStruct, constants_1.dlmmVaultProgramId, (0, filters_1.dataSizeFilter)(struct_1.dlmmVaultStruct.byteSize));
21
+ const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.dlmmVaultStruct, constants_1.dlmmVaultProgramId, (0, filters_1.dataSizeFilter)(structs_1.dlmmVaultStruct.byteSize));
22
22
  const vaults = {};
23
23
  accounts.forEach((acc) => {
24
24
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1 +1 @@
1
- {"version":3,"file":"dlmmVaultsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/debridge/dlmmVaultsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,iDAAsD;AACtD,+CAA8D;AAC9D,wDAA4D;AAC5D,2CAA6D;AAE7D,8CAAoD;AACpD,oDAAqD;AAErD,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,wBAAe,EACf,8BAAkB,EAClB,IAAA,wBAAc,EAAC,wBAAe,CAAC,QAAQ,CAAC,CACzC,CAAC;IACF,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,8DAA8D;QAC9D,MAAM,MAAM,mCACP,GAAG,KACN,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAC9B,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,OAAO,CAAC,yBAAa,EAAE,MAAM,EAAE;QACzC,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,cAAc;IAC/B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"dlmmVaultsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/debridge/dlmmVaultsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,iDAAsD;AACtD,+CAA8D;AAC9D,wDAA4D;AAC5D,2CAA6D;AAE7D,qDAA0D;AAC1D,oDAAqD;AAErD,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,yBAAe,EACf,8BAAkB,EAClB,IAAA,wBAAc,EAAC,yBAAe,CAAC,QAAQ,CAAC,CACzC,CAAC;IACF,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,8DAA8D;QAC9D,MAAM,MAAM,mCACP,GAAG,KACN,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAC9B,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,OAAO,CAAC,yBAAa,EAAE,MAAM,EAAE;QACzC,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,cAAc;IAC/B,QAAQ;IACR,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -18,5 +18,11 @@ exports.vaults = [
18
18
  tokenMint: 'jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL',
19
19
  reserveAccount: '3Fz1WVV7N3h5VScoveHyote6Y129F3Gmc3PcfnBuSbV3',
20
20
  },
21
+ {
22
+ vaultProgramAddress: 'BmJvUzoiiNBRx3v2Gqsix9WvVtw8FaztrfBHQyqpMbTd',
23
+ receiptToken: 'FRAGB4KZGLMy3wH1nBajP3Q17MHnecEvTPT6wb4pX5MB',
24
+ tokenMint: 'zBTCug3er3tLyffELcvDNrKkCymbPWysGcWihESYfLg',
25
+ reserveAccount: 'B5eYu4dKBS8bTvLdeZungomcaQx52rDprdKEcyHzgbBD',
26
+ },
21
27
  ];
22
28
  //# 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;CACF,CAAC"}
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"}
@@ -17,7 +17,7 @@ const web3_js_1 = require("@solana/web3.js");
17
17
  const constants_1 = require("./constants");
18
18
  const helper_1 = require("./helper");
19
19
  const obligationsFetcher_1 = __importDefault(require("../save/obligationsFetcher"));
20
- const dlmmPositionsFetcher_1 = __importDefault(require("../meteora/dlmmPositionsFetcher"));
20
+ const dlmmPositionsFetcher_1 = __importDefault(require("../meteora/dlmm/dlmmPositionsFetcher"));
21
21
  const solana_1 = __importDefault(require("../tokens/fetchers/solana"));
22
22
  const getWhirlpoolPositions_1 = require("../orca/getWhirlpoolPositions");
23
23
  const getSolanaDasEndpoint_1 = __importDefault(require("../../utils/clients/getSolanaDasEndpoint"));
@@ -1 +1 @@
1
- {"version":3,"file":"positionsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/hawksight/positionsFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"positionsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/hawksight/positionsFetcher.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ function getVotePda(owner) {
25
25
  }
26
26
  exports.getVotePda = getVotePda;
27
27
  const maxIdsPerRequest = 100;
28
- const jupPriceApiUrl = 'https://api.jup.ag/price/v2';
28
+ const jupPriceApiUrl = 'https:/lite-api.jup.ag/price/v2';
29
29
  function getJupiterPrices(mints, vsMint) {
30
30
  return __awaiter(this, void 0, void 0, function* () {
31
31
  let res;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA4C;AAC5C,kDAA6C;AAE7C,2CAAwE;AAExE,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,mBAAS,CAAC,sBAAsB,CACrC;QACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACrB,wBAAY,CAAC,OAAO,EAAE;QACtB,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;KAC/B,EACD,yBAAa,CACd,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AATD,gCASC;AAED,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAErD,SAAsB,gBAAgB,CAAC,KAAkB,EAAE,MAAiB;;QAC1E,IAAI,GAAG,CAAC;QACR,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC;QACb,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,gBAAgB,CAAC;QAC3B,MAAM,QAAQ,GAAG,GAAG,cAAc,IAAI,wBAAY,aAAZ,wBAAY,cAAZ,wBAAY,GAAI,EAAE,EAAE,CAAC;QAE3D,GAAG,CAAC;YACF,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnC,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAwC,QAAQ,EAAE;gBACrE,MAAM,EAAE;oBACN,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBAChD,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;iBAC3B;aACF,CAAC,CAAC;YACH,KAAK,GAAG,GAAG,CAAC;YACZ,GAAG,IAAI,gBAAgB,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;QAE1B,MAAM,MAAM,GAAwB,IAAI,GAAG,EAAE,CAAC;QAC9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK;oBAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AA5BD,4CA4BC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA4C;AAC5C,kDAA6C;AAE7C,2CAAwE;AAExE,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,mBAAS,CAAC,sBAAsB,CACrC;QACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACrB,wBAAY,CAAC,OAAO,EAAE;QACtB,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;KAC/B,EACD,yBAAa,CACd,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AATD,gCASC;AAED,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,cAAc,GAAG,iCAAiC,CAAC;AAEzD,SAAsB,gBAAgB,CAAC,KAAkB,EAAE,MAAiB;;QAC1E,IAAI,GAAG,CAAC;QACR,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC;QACb,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,gBAAgB,CAAC;QAC3B,MAAM,QAAQ,GAAG,GAAG,cAAc,IAAI,wBAAY,aAAZ,wBAAY,cAAZ,wBAAY,GAAI,EAAE,EAAE,CAAC;QAE3D,GAAG,CAAC;YACF,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnC,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAwC,QAAQ,EAAE;gBACrE,MAAM,EAAE;oBACN,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBAChD,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;iBAC3B;aACF,CAAC,CAAC;YACH,KAAK,GAAG,GAAG,CAAC;YACZ,GAAG,IAAI,gBAAgB,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;QAE1B,MAAM,MAAM,GAAwB,IAAI,GAAG,EAAE,CAAC;QAC9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK;oBAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AA5BD,4CA4BC"}
@@ -4,7 +4,7 @@ import { Position, Whirlpool } from '../../orca/structs/whirlpool';
4
4
  import { PersonalPositionState, PoolState } from '../../raydium/structs/clmms';
5
5
  import { WhirlpoolStrategy } from '../structs/vaults';
6
6
  import { ParsedAccount } from '../../../utils/solana';
7
- import { BinArray, DLMMPosition, LbPair } from '../../meteora/struct';
7
+ import { BinArray, DLMMPosition, LbPair } from '../../meteora/dlmm/structs';
8
8
  export declare enum DEXS {
9
9
  ORCA = 0,
10
10
  RAYDIUM = 1,
@@ -8,8 +8,8 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  const whirlpool_1 = require("../../orca/structs/whirlpool");
9
9
  const clmms_1 = require("../../raydium/structs/clmms");
10
10
  const tokenAmountFromLiquidity_1 = require("../../../utils/clmm/tokenAmountFromLiquidity");
11
- const struct_1 = require("../../meteora/struct");
12
- const dlmmHelper_1 = require("../../meteora/dlmmHelper");
11
+ const structs_1 = require("../../meteora/dlmm/structs");
12
+ const dlmmHelper_1 = require("../../meteora/dlmm/dlmmHelper");
13
13
  var DEXS;
14
14
  (function (DEXS) {
15
15
  DEXS[DEXS["ORCA"] = 0] = "ORCA";
@@ -61,7 +61,7 @@ function getPoolStructFromDex(dexNumber) {
61
61
  if (dexNumber.toNumber() === DEXS.RAYDIUM)
62
62
  return clmms_1.poolStateStruct;
63
63
  if (dexNumber.toNumber() === DEXS.METEORA)
64
- return struct_1.lbPairStruct;
64
+ return structs_1.lbPairStruct;
65
65
  return undefined;
66
66
  }
67
67
  exports.getPoolStructFromDex = getPoolStructFromDex;
@@ -71,7 +71,7 @@ function getPositionStructFromDex(dexNumber) {
71
71
  if (dexNumber.toNumber() === DEXS.RAYDIUM)
72
72
  return clmms_1.personalPositionStateStruct;
73
73
  if (dexNumber.toNumber() === DEXS.METEORA)
74
- return struct_1.dlmmPositionV2Struct;
74
+ return structs_1.dlmmPositionV2Struct;
75
75
  return undefined;
76
76
  }
77
77
  exports.getPositionStructFromDex = getPositionStructFromDex;
@@ -1 +1 @@
1
- {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/kamino/helpers/vaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/kamino/helpers/vaults.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,4DAKsC;AACtC,uDAKqC;AAGrC,2FAA4F;AAC5F,wDAMoC;AACpC,8DAA8E;AAE9E,IAAY,IAIX;AAJD,WAAY,IAAI;IACd,+BAAI,CAAA;IACJ,qCAAO,CAAA;IACP,qCAAO,CAAA;AACT,CAAC,EAJW,IAAI,oBAAJ,IAAI,QAIf;AAED,SAAgB,wBAAwB,CACtC,QAA0C,EAC1C,IAAoC,EACpC,QAAyD,EACzD,SAAsB;IAEtB,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAiB,CAAC;QACnC,MAAM,YAAY,GAAG,QAAoB,CAAC;QAE1C,OAAO,IAAA,uDAA4B,EACjC,YAAY,CAAC,SAAS,EACtB,QAAQ,CAAC,gBAAgB,EACzB,YAAY,CAAC,cAAc,EAC3B,YAAY,CAAC,cAAc,EAC3B,KAAK,CACN,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,IAAiB,CAAC;QACtC,MAAM,eAAe,GAAG,QAAiC,CAAC;QAE1D,OAAO,IAAA,uDAA4B,EACjC,eAAe,CAAC,SAAS,EACzB,WAAW,CAAC,WAAW,EACvB,eAAe,CAAC,cAAc,EAC9B,eAAe,CAAC,cAAc,EAC9B,KAAK,CACN,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,IAAc,CAAC;QACnC,MAAM,eAAe,GAAG,QAAwB,CAAC;QAEjD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,IAAA,0CAA6B,EAClC,eAAe,EACf,WAAW,EACX,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,CAAC,CAAC,EACd,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,CAAC,CAAC,EACd,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EACtC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CACvC,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC;AA9CD,4DA8CC;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,CAAC,CAAC,EAAE,SAAS,CAAC;IACd,CAAC,CAAC,EAAE,QAAQ,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,YAAY,CAAC;IACjB,CAAC,CAAC,EAAE,SAAS,CAAC;CACf,CAAC,CAAC;AAEH,SAAgB,QAAQ,CAAC,QAA2B;IAClD,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC;AAND,4BAMC;AAOD,SAAgB,oBAAoB,CAClC,SAAoB;IAEpB,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,2BAAe,CAAC;IAC/D,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,OAAO;QAAE,OAAO,uBAAe,CAAC;IAClE,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,OAAO;QAAE,OAAO,sBAAY,CAAC;IAC/D,OAAO,SAAS,CAAC;AACnB,CAAC;AAPD,oDAOC;AAOD,SAAgB,wBAAwB,CACtC,SAAoB;IAEpB,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,0BAAc,CAAC;IAC9D,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,OAAO;QAAE,OAAO,mCAA2B,CAAC;IAC9E,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,OAAO;QAAE,OAAO,8BAAoB,CAAC;IACvE,OAAO,SAAS,CAAC;AACnB,CAAC;AAPD,4DAOC"}
@@ -17,7 +17,7 @@ const getMultipleAccountsInfoSafe_1 = require("../../utils/solana/getMultipleAcc
17
17
  const vaults_1 = require("./helpers/vaults");
18
18
  const vaults_2 = require("./structs/vaults");
19
19
  const filters_1 = require("../../utils/solana/filters");
20
- const struct_1 = require("../meteora/struct");
20
+ const structs_1 = require("../meteora/dlmm/structs");
21
21
  const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
22
22
  var _a, _b;
23
23
  const client = (0, clients_1.getClientSolana)();
@@ -66,7 +66,7 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
66
66
  continue;
67
67
  const isMeteroa = strategyDex.toNumber() === vaults_1.DEXS.METEORA;
68
68
  const binArrays = isMeteroa
69
- ? (yield (0, solana_1.getParsedMultipleAccountsInfo)(client, struct_1.binArrayStruct, [
69
+ ? (yield (0, solana_1.getParsedMultipleAccountsInfo)(client, structs_1.binArrayStruct, [
70
70
  strategy.tickArrayLower,
71
71
  strategy.tickArrayUpper,
72
72
  ]))
@@ -1 +1 @@
1
- {"version":3,"file":"poolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kamino/poolsJob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kamino/poolsJob.ts"],"names":[],"mappings":"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"}
@@ -12,3 +12,4 @@ export declare const farmProgramId: PublicKey;
12
12
  export declare const dlmmProgramId: PublicKey;
13
13
  export declare const dlmmVaultProgramId: PublicKey;
14
14
  export declare const stakeForFeeProgramId: PublicKey;
15
+ export declare const cpammProgramId: PublicKey;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stakeForFeeProgramId = exports.dlmmVaultProgramId = exports.dlmmProgramId = exports.farmProgramId = exports.poolsProgramId = exports.vaultsProgramId = exports.feeVaultsKey = exports.dlmmVaultsKey = exports.farmsKey = exports.prefixVaults = exports.platformId = void 0;
3
+ exports.cpammProgramId = exports.stakeForFeeProgramId = exports.dlmmVaultProgramId = exports.dlmmProgramId = exports.farmProgramId = exports.poolsProgramId = exports.vaultsProgramId = exports.feeVaultsKey = exports.dlmmVaultsKey = exports.farmsKey = exports.prefixVaults = exports.platformId = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.platformId = 'meteora';
6
6
  exports.prefixVaults = `${exports.platformId}-vaults`;
@@ -13,4 +13,5 @@ exports.farmProgramId = new web3_js_1.PublicKey('FarmuwXPWXvefWUeqFAa5w6rifLkq5X
13
13
  exports.dlmmProgramId = new web3_js_1.PublicKey('LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo');
14
14
  exports.dlmmVaultProgramId = new web3_js_1.PublicKey('vaU6kP7iNEGkbmPkLmZfGwiGxd4Mob24QQCie5R9kd2');
15
15
  exports.stakeForFeeProgramId = new web3_js_1.PublicKey('FEESngU3neckdwib9X3KWqdL7Mjmqk9XNp3uh5JbP4KP');
16
+ exports.cpammProgramId = new web3_js_1.PublicKey('cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG');
16
17
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,SAAS,CAAC;AAEvB,QAAA,YAAY,GAAG,GAAG,kBAAU,SAAS,CAAC;AACtC,QAAA,QAAQ,GAAG,OAAO,CAAC;AACnB,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,YAAY,GAAG,YAAY,CAAC;AAE5B,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,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,aAAa,GAAG,IAAI,mBAAS,CACxC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAI,mBAAS,CAC7C,6CAA6C,CAC9C,CAAC;AAEW,QAAA,oBAAoB,GAAG,IAAI,mBAAS,CAC/C,8CAA8C,CAC/C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/meteora/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,SAAS,CAAC;AAEvB,QAAA,YAAY,GAAG,GAAG,kBAAU,SAAS,CAAC;AACtC,QAAA,QAAQ,GAAG,OAAO,CAAC;AACnB,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,YAAY,GAAG,YAAY,CAAC;AAE5B,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,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,aAAa,GAAG,IAAI,mBAAS,CACxC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAI,mBAAS,CAC7C,6CAA6C,CAC9C,CAAC;AAEW,QAAA,oBAAoB,GAAG,IAAI,mBAAS,CAC/C,8CAA8C,CAC/C,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,6CAA6C,CAC9C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,86 @@
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 web3_js_1 = require("@solana/web3.js");
14
+ const constants_1 = require("../constants");
15
+ const clients_1 = require("../../../utils/clients");
16
+ const solana_1 = require("../../../utils/solana");
17
+ const helpers_1 = require("./helpers");
18
+ const structs_1 = require("./structs");
19
+ const dlmmHelper_1 = require("../dlmm/dlmmHelper");
20
+ const ElementRegistry_1 = require("../../../utils/elementbuilder/ElementRegistry");
21
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
22
+ const client = (0, clients_1.getClientSolana)();
23
+ const tokenAccounts = yield client.getTokenAccountsByOwner(new web3_js_1.PublicKey(owner), {
24
+ programId: solana_1.solanaToken2022PidPk,
25
+ });
26
+ const nftAccounts = tokenAccounts.value.map((account) => {
27
+ const parsedAccount = solana_1.tokenAccountStruct.deserialize(account.account.data)[0];
28
+ if (parsedAccount.amount.toNumber() === 1)
29
+ return Object.assign(Object.assign({}, parsedAccount), { pubkey: account.pubkey });
30
+ return undefined;
31
+ });
32
+ const pdas = nftAccounts
33
+ .map((account) => (account ? (0, helpers_1.derivePositionAddress)(account.mint) : []))
34
+ .flat();
35
+ const positions = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, structs_1.positionStruct, pdas);
36
+ const pools = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, structs_1.poolStruct, positions.map((position) => (position ? position.pool : [])).flat());
37
+ const registry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
38
+ const liqElement = registry.addElementLiquidity({ label: 'LiquidityPool' });
39
+ for (const position of positions) {
40
+ if (!position)
41
+ continue;
42
+ const pool = pools.find((p) => p === null || p === void 0 ? void 0 : p.pubkey.equals(position.pool));
43
+ if (!pool)
44
+ continue;
45
+ const liq = liqElement.addLiquidity({
46
+ ref: position.pubkey.toString(),
47
+ sourceRefs: [{ address: pool.pubkey.toString(), name: 'Pool' }],
48
+ link: `https://www.meteora.ag/dammv2/${pool.pubkey.toString()}`,
49
+ });
50
+ const tokenAmountA = (0, helpers_1.getAmountAFromLiquidityDelta)(position.unlockedLiquidity
51
+ .plus(position.vestedLiquidity)
52
+ .plus(position.permanentLockedLiquidity), pool.sqrtPrice, pool.sqrtMaxPrice, dlmmHelper_1.Rounding.Down);
53
+ liq.addAsset({
54
+ address: pool.tokenAMint,
55
+ amount: tokenAmountA,
56
+ });
57
+ const tokenAmountB = (0, helpers_1.getAmountBFromLiquidityDelta)(position.unlockedLiquidity, pool.sqrtPrice, pool.sqrtMinPrice, dlmmHelper_1.Rounding.Down);
58
+ liq.addAsset({
59
+ address: pool.tokenBMint,
60
+ amount: tokenAmountB,
61
+ });
62
+ const { rewards, feeTokenA, feeTokenB } = (0, helpers_1.getUnClaimReward)(pool, position);
63
+ for (let i = 0; i < rewards.length; i++) {
64
+ liq.addRewardAsset({
65
+ address: pool.rewardInfos[i].mint,
66
+ amount: rewards[i],
67
+ });
68
+ }
69
+ liq.addRewardAsset({
70
+ address: pool.tokenAMint.toString(),
71
+ amount: feeTokenA,
72
+ });
73
+ liq.addRewardAsset({
74
+ address: pool.tokenBMint.toString(),
75
+ amount: feeTokenB,
76
+ });
77
+ }
78
+ return registry.getElements(cache);
79
+ });
80
+ const fetcher = {
81
+ id: `${constants_1.platformId}-cpamm-positions`,
82
+ networkId: portfolio_core_1.NetworkId.solana,
83
+ executor,
84
+ };
85
+ exports.default = fetcher;
86
+ //# sourceMappingURL=cpammPositionsFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpammPositionsFetcher.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/meteora/cpamm/cpammPositionsFetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
13
+ const clients_1 = require("../../../utils/clients");
14
+ const ParsedGpa_1 = require("../../../utils/solana/beets/ParsedGpa");
15
+ const constants_1 = require("../constants");
16
+ const dlmmHelper_1 = require("../dlmm/dlmmHelper");
17
+ const helpers_1 = require("./helpers");
18
+ const structs_1 = require("./structs");
19
+ const getLpUnderlyingTokenSource_1 = require("../../../utils/misc/getLpUnderlyingTokenSource");
20
+ const getDecimalsForToken_1 = require("../../../utils/misc/getDecimalsForToken");
21
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
22
+ const client = (0, clients_1.getClientSolana)();
23
+ const poolsAccounts = yield ParsedGpa_1.ParsedGpa.build(client, structs_1.poolStruct, constants_1.cpammProgramId)
24
+ .addFilter('discriminator', [241, 154, 109, 4, 17, 177, 109, 188])
25
+ .addDataSizeFilter(1112)
26
+ .run();
27
+ const vaultAccounts = [];
28
+ const mints = new Set();
29
+ const tokensA = [];
30
+ const tokensB = [];
31
+ poolsAccounts.forEach((poolAccount) => {
32
+ vaultAccounts.push(poolAccount.tokenAVault, poolAccount.tokenBVault);
33
+ mints.add(poolAccount.tokenAMint.toString());
34
+ mints.add(poolAccount.tokenBMint.toString());
35
+ tokensA.push(poolAccount.tokenAMint.toString());
36
+ tokensB.push(poolAccount.tokenBMint.toString());
37
+ });
38
+ const decimalsA = yield Promise.all([
39
+ ...tokensA.map((m) => (0, getDecimalsForToken_1.getDecimalsForToken)(m, portfolio_core_1.NetworkId.solana)),
40
+ ]);
41
+ const decimalsB = yield Promise.all([
42
+ ...tokensB.map((m) => (0, getDecimalsForToken_1.getDecimalsForToken)(m, portfolio_core_1.NetworkId.solana)),
43
+ ]);
44
+ const tokenPrices = yield cache.getTokenPricesAsMap(mints, portfolio_core_1.NetworkId.solana);
45
+ const sources = [];
46
+ poolsAccounts.forEach((poolAccount, index) => {
47
+ const tokenPriceA = tokenPrices.get(poolAccount.tokenAMint.toString());
48
+ const tokenPriceB = tokenPrices.get(poolAccount.tokenBMint.toString());
49
+ const decimalA = decimalsA[index];
50
+ const decimalB = decimalsB[index];
51
+ const amountA = (0, helpers_1.getAmountAFromLiquidityDelta)(poolAccount.liquidity, poolAccount.sqrtPrice, poolAccount.sqrtMaxPrice, dlmmHelper_1.Rounding.Down);
52
+ const amountB = (0, helpers_1.getAmountBFromLiquidityDelta)(poolAccount.liquidity, poolAccount.sqrtPrice, poolAccount.sqrtMinPrice, dlmmHelper_1.Rounding.Down);
53
+ const underlyingSources = (0, getLpUnderlyingTokenSource_1.getLpUnderlyingTokenSource)({
54
+ networkId: portfolio_core_1.NetworkId.solana,
55
+ sourceId: poolAccount.pubkey.toString(),
56
+ poolUnderlyings: [
57
+ {
58
+ address: poolAccount.tokenAMint.toString(),
59
+ decimals: Number(decimalA),
60
+ reserveAmount: amountA.dividedBy(Math.pow(10, Number(decimalA))).toNumber(),
61
+ weight: 0.5,
62
+ tokenPrice: tokenPriceA,
63
+ },
64
+ {
65
+ address: poolAccount.tokenBMint.toString(),
66
+ decimals: Number(decimalB),
67
+ reserveAmount: amountB.dividedBy(Math.pow(10, Number(decimalB))).toNumber(),
68
+ weight: 0.5,
69
+ tokenPrice: tokenPriceB,
70
+ },
71
+ ],
72
+ });
73
+ sources.push(...underlyingSources);
74
+ });
75
+ yield cache.setTokenPriceSources(sources);
76
+ });
77
+ const job = {
78
+ id: `${constants_1.platformId}-cpamm-pools`,
79
+ executor,
80
+ labels: ['normal'],
81
+ };
82
+ exports.default = job;
83
+ //# sourceMappingURL=cpammV2Job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpammV2Job.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/meteora/cpamm/cpammV2Job.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
+ import BigNumber from 'bignumber.js';
4
+ import { PublicKey } from '@solana/web3.js';
5
+ import { Pool, Position } from './structs';
6
+ import { Rounding } from '../dlmm/dlmmHelper';
7
+ export declare const getUnClaimReward: (poolState: Pool, positionState: Position) => {
8
+ feeTokenA: BigNumber;
9
+ feeTokenB: BigNumber;
10
+ rewards: BigNumber[];
11
+ };
12
+ export declare function getAmountAFromLiquidityDelta(liquidity: BigNumber, currentSqrtPrice: BigNumber, // current sqrt price
13
+ maxSqrtPrice: BigNumber, rounding: Rounding): BigNumber;
14
+ export declare function getAmountBFromLiquidityDelta(liquidity: BigNumber, currentSqrtPrice: BigNumber, // current sqrt price,
15
+ minSqrtPrice: BigNumber, rounding: Rounding): BigNumber;
16
+ export declare function derivePositionAddress(positionNft: PublicKey): PublicKey;
17
+ export declare const getPriceFromSqrtPrice: (sqrtPrice: BigNumber, tokenADecimal: number, tokenBDecimal: number) => string;
@@ -0,0 +1,83 @@
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.getPriceFromSqrtPrice = exports.derivePositionAddress = exports.getAmountBFromLiquidityDelta = exports.getAmountAFromLiquidityDelta = exports.getUnClaimReward = void 0;
7
+ const bn_js_1 = __importDefault(require("bn.js"));
8
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
+ const web3_js_1 = require("@solana/web3.js");
10
+ const decimal_js_1 = __importDefault(require("decimal.js"));
11
+ const dlmmHelper_1 = require("../dlmm/dlmmHelper");
12
+ const constants_1 = require("../constants");
13
+ const getUnClaimReward = (poolState, positionState) => {
14
+ const totalPositionLiquidity = (0, bignumber_js_1.default)(positionState.unlockedLiquidity.toString())
15
+ .plus((0, bignumber_js_1.default)(positionState.vestedLiquidity.toString()))
16
+ .plus((0, bignumber_js_1.default)(positionState.permanentLockedLiquidity.toString()));
17
+ const feeAPerTokenStored = new bn_js_1.default(Buffer.from(poolState.feeAPerLiquidity).reverse()).sub(new bn_js_1.default(Buffer.from(positionState.feeAPerTokenCheckpoint).reverse()));
18
+ const feeBPerTokenStored = new bn_js_1.default(Buffer.from(poolState.feeBPerLiquidity).reverse()).sub(new bn_js_1.default(Buffer.from(positionState.feeBPerTokenCheckpoint).reverse()));
19
+ const denominator = new bignumber_js_1.default(2).pow(128);
20
+ const feeA = totalPositionLiquidity
21
+ .times(feeAPerTokenStored.toString())
22
+ .dividedBy(denominator);
23
+ const feeB = totalPositionLiquidity
24
+ .times(feeBPerTokenStored.toString())
25
+ .dividedBy(denominator);
26
+ return {
27
+ feeTokenA: (0, bignumber_js_1.default)(positionState.feeAPending.toString()).plus(feeA),
28
+ feeTokenB: (0, bignumber_js_1.default)(positionState.feeBPending.toString()).plus(feeB),
29
+ rewards: positionState.rewardInfos.length > 0
30
+ ? positionState.rewardInfos.map((item) => item.rewardPendings)
31
+ : [],
32
+ };
33
+ };
34
+ exports.getUnClaimReward = getUnClaimReward;
35
+ // L = Δa * √P_upper * √P_lower / (√P_upper - √P_lower)
36
+ // Δa = L * (√P_upper - √P_lower) / √P_upper * √P_lower
37
+ function getAmountAFromLiquidityDelta(liquidity, currentSqrtPrice, // current sqrt price
38
+ maxSqrtPrice, rounding) {
39
+ // Q128.128
40
+ const product = liquidity.times(maxSqrtPrice.minus(currentSqrtPrice));
41
+ // Q128.128
42
+ const denominator = currentSqrtPrice.times(maxSqrtPrice);
43
+ // Q64.64
44
+ if (rounding === dlmmHelper_1.Rounding.Up) {
45
+ return new bignumber_js_1.default(product
46
+ .plus(denominator.minus(new bignumber_js_1.default(1)))
47
+ .div(denominator)
48
+ .toString());
49
+ }
50
+ return new bignumber_js_1.default(product.dividedBy(denominator).toString());
51
+ }
52
+ exports.getAmountAFromLiquidityDelta = getAmountAFromLiquidityDelta;
53
+ // L = Δb / (√P_upper - √P_lower)
54
+ // Δb = L * (√P_upper - √P_lower)
55
+ function getAmountBFromLiquidityDelta(liquidity, currentSqrtPrice, // current sqrt price,
56
+ minSqrtPrice, rounding) {
57
+ // const one = new BigNumber(1).shiftedBy(-128);
58
+ const one = new bignumber_js_1.default(2).pow(128);
59
+ const deltaPrice = currentSqrtPrice.minus(minSqrtPrice);
60
+ const result = liquidity.times(deltaPrice); // Q128
61
+ if (rounding === dlmmHelper_1.Rounding.Up) {
62
+ return new bignumber_js_1.default(result.plus(one.minus(1)).div(one));
63
+ }
64
+ // return result.shiftedBy(128);
65
+ return result.dividedBy(one);
66
+ }
67
+ exports.getAmountBFromLiquidityDelta = getAmountBFromLiquidityDelta;
68
+ function derivePositionAddress(positionNft) {
69
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('position'), positionNft.toBuffer()], constants_1.cpammProgramId)[0];
70
+ }
71
+ exports.derivePositionAddress = derivePositionAddress;
72
+ // (sqrtPrice)^2 * 10 ** (base_decimal - quote_decimal) / 2^128
73
+ const getPriceFromSqrtPrice = (sqrtPrice, tokenADecimal, tokenBDecimal) => {
74
+ const decimalSqrtPrice = new decimal_js_1.default(sqrtPrice.toString());
75
+ const price = decimalSqrtPrice
76
+ .mul(decimalSqrtPrice)
77
+ .mul(new decimal_js_1.default(Math.pow(10, (tokenADecimal - tokenBDecimal))))
78
+ .div(decimal_js_1.default.pow(2, 128))
79
+ .toString();
80
+ return price;
81
+ };
82
+ exports.getPriceFromSqrtPrice = getPriceFromSqrtPrice;
83
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/meteora/cpamm/helpers.ts"],"names":[],"mappings":"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"}