@sonarwatch/portfolio-plugins 0.8.110 → 0.8.112

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 (69) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/package.json +3 -2
  3. package/src/index.js +4 -0
  4. package/src/index.js.map +1 -1
  5. package/src/plugins/goosefx/poolsFetcher.js +2 -0
  6. package/src/plugins/goosefx/poolsFetcher.js.map +1 -1
  7. package/src/plugins/goosefx/stakingFetcher.js +2 -0
  8. package/src/plugins/goosefx/stakingFetcher.js.map +1 -1
  9. package/src/plugins/jupiter/constants.d.ts +3 -0
  10. package/src/plugins/jupiter/constants.js +4 -1
  11. package/src/plugins/jupiter/constants.js.map +1 -1
  12. package/src/plugins/jupiter/custodiesJob.d.ts +3 -0
  13. package/src/plugins/jupiter/custodiesJob.js +34 -0
  14. package/src/plugins/jupiter/custodiesJob.js.map +1 -0
  15. package/src/plugins/jupiter/filters.d.ts +2 -0
  16. package/src/plugins/jupiter/filters.js +14 -0
  17. package/src/plugins/jupiter/filters.js.map +1 -0
  18. package/src/plugins/jupiter/index.js +4 -2
  19. package/src/plugins/jupiter/index.js.map +1 -1
  20. package/src/plugins/jupiter/perpetualFetcher.d.ts +3 -0
  21. package/src/plugins/jupiter/perpetualFetcher.js +153 -0
  22. package/src/plugins/jupiter/perpetualFetcher.js.map +1 -0
  23. package/src/plugins/jupiter/structs.d.ts +24 -0
  24. package/src/plugins/jupiter/structs.js +25 -1
  25. package/src/plugins/jupiter/structs.js.map +1 -1
  26. package/src/plugins/jupiter/types.d.ts +62 -0
  27. package/src/plugins/jupiter/types.js +9 -0
  28. package/src/plugins/jupiter/types.js.map +1 -0
  29. package/src/plugins/orders/jupiter/dcaFetcher.js +2 -0
  30. package/src/plugins/orders/jupiter/dcaFetcher.js.map +1 -1
  31. package/src/plugins/port/constants.d.ts +6 -0
  32. package/src/plugins/port/constants.js +16 -0
  33. package/src/plugins/port/constants.js.map +1 -0
  34. package/src/plugins/port/filters.d.ts +2 -0
  35. package/src/plugins/port/filters.js +15 -0
  36. package/src/plugins/port/filters.js.map +1 -0
  37. package/src/plugins/port/helpers.d.ts +1 -0
  38. package/src/plugins/port/helpers.js +10 -0
  39. package/src/plugins/port/helpers.js.map +1 -0
  40. package/src/plugins/port/index.d.ts +6 -0
  41. package/src/plugins/port/index.js +14 -0
  42. package/src/plugins/port/index.js.map +1 -0
  43. package/src/plugins/port/obligationsFetcher.d.ts +3 -0
  44. package/src/plugins/port/obligationsFetcher.js +157 -0
  45. package/src/plugins/port/obligationsFetcher.js.map +1 -0
  46. package/src/plugins/port/pTokensJob.d.ts +3 -0
  47. package/src/plugins/port/pTokensJob.js +73 -0
  48. package/src/plugins/port/pTokensJob.js.map +1 -0
  49. package/src/plugins/port/reservesJob.d.ts +3 -0
  50. package/src/plugins/port/reservesJob.js +60 -0
  51. package/src/plugins/port/reservesJob.js.map +1 -0
  52. package/src/plugins/port/structs.d.ts +69 -0
  53. package/src/plugins/port/structs.js +64 -0
  54. package/src/plugins/port/structs.js.map +1 -0
  55. package/src/plugins/port/types.d.ts +71 -0
  56. package/src/plugins/port/types.js +3 -0
  57. package/src/plugins/port/types.js.map +1 -0
  58. package/src/plugins/solend/structs.d.ts +2 -2
  59. package/src/plugins/solend/structs.js +2 -2
  60. package/src/plugins/solend/structs.js.map +1 -1
  61. package/src/utils/solana/pyth/helpers.d.ts +13 -0
  62. package/src/utils/solana/pyth/helpers.js +239 -0
  63. package/src/utils/solana/pyth/helpers.js.map +1 -0
  64. package/src/utils/solana/pyth/readBig.d.ts +4 -0
  65. package/src/utils/solana/pyth/readBig.js +61 -0
  66. package/src/utils/solana/pyth/readBig.js.map +1 -0
  67. package/src/utils/solana/pyth/structs.d.ts +97 -0
  68. package/src/utils/solana/pyth/structs.js +35 -0
  69. package/src/utils/solana/pyth/structs.js.map +1 -0
package/CHANGELOG.md CHANGED
@@ -2,10 +2,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
- ## [0.8.110](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.109...plugins-0.8.110) (2023-11-27)
5
+ ## [0.8.112](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.111...plugins-0.8.112) (2023-11-29)
6
6
 
7
7
 
8
8
 
9
+ ## [0.8.111](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.110...plugins-0.8.111) (2023-11-28)
10
+
11
+
12
+
13
+ ## [0.8.110](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.109...plugins-0.8.110) (2023-11-27)
14
+
15
+
16
+
9
17
  ## [0.8.109](https://github.com/sonarwatch/portfolio/compare/plugins-0.8.108...plugins-0.8.109) (2023-11-27)
10
18
 
11
19
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-plugins",
3
- "version": "0.8.110",
3
+ "version": "0.8.112",
4
4
  "type": "commonjs",
5
5
  "generators": "./generators.json",
6
6
  "dependencies": {
@@ -28,6 +28,7 @@
28
28
  "bignumber.js": "^9.1.1",
29
29
  "bitcoin-address-validation": "^2.2.1",
30
30
  "bn.js": "^5.2.1",
31
+ "buffer": "6.0.1",
31
32
  "decimal.js": "^10.4.3",
32
33
  "dsa-connect": "^0.6.47",
33
34
  "graphql": "^16.8.1",
@@ -40,7 +41,7 @@
40
41
  "web3-v1": "npm:web3@^1.5.0"
41
42
  },
42
43
  "peerDependencies": {
43
- "@sonarwatch/portfolio-core": "0.8.110"
44
+ "@sonarwatch/portfolio-core": "0.8.112"
44
45
  },
45
46
  "main": "./src/index.js",
46
47
  "types": "./src/index.d.ts"
package/src/index.js CHANGED
@@ -74,6 +74,7 @@ const atrix_1 = require("./plugins/atrix");
74
74
  const _01_1 = require("./plugins/01");
75
75
  const goosefx_1 = require("./plugins/goosefx");
76
76
  const lifinity_1 = require("./plugins/lifinity");
77
+ const port_1 = require("./plugins/port");
77
78
  var constants_1 = require("./plugins/tokens/constants");
78
79
  Object.defineProperty(exports, "walletTokensPlatform", { enumerable: true, get: function () { return constants_1.walletTokensPlatform; } });
79
80
  Object.defineProperty(exports, "walletNftsPlatform", { enumerable: true, get: function () { return constants_1.walletNftsPlatform; } });
@@ -137,6 +138,7 @@ exports.platforms = [
137
138
  ..._01_1.platforms,
138
139
  ...goosefx_1.platforms,
139
140
  ...lifinity_1.platforms,
141
+ ...port_1.platforms,
140
142
  ];
141
143
  // JOBS //
142
144
  exports.jobs = [
@@ -187,6 +189,7 @@ exports.jobs = [
187
189
  ..._01_1.jobs,
188
190
  ...goosefx_1.jobs,
189
191
  ...lifinity_1.jobs,
192
+ ...port_1.jobs,
190
193
  ];
191
194
  // FETCHERS //
192
195
  exports.fetchers = [
@@ -238,6 +241,7 @@ exports.fetchers = [
238
241
  ..._01_1.fetchers,
239
242
  ...goosefx_1.fetchers,
240
243
  ...lifinity_1.fetchers,
244
+ ...port_1.fetchers,
241
245
  ];
242
246
  exports.fetchersByAddressSystem = (0, getFetchersByAddressSystem_1.getFetchersByAddressSystem)(exports.fetchers);
243
247
  //# sourceMappingURL=index.js.map
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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"}
@@ -23,6 +23,8 @@ const getTokensPricesMap_1 = __importDefault(require("../../utils/misc/getTokens
23
23
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
24
24
  const client = (0, clients_1.getClientSolana)();
25
25
  const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.liquidityStruct, constants_1.programId, (0, filters_1.liquidityAccountFilter)(owner));
26
+ if (accounts.length === 0)
27
+ return [];
26
28
  const tokenPriceById = yield (0, getTokensPricesMap_1.default)(accounts.map((account) => account.mint.toString()), portfolio_core_1.NetworkId.solana, cache);
27
29
  const liquidities = [];
28
30
  for (const account of accounts) {
@@ -1 +1 @@
1
- {"version":3,"file":"poolsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/poolsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAoD;AACpD,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA4C;AAC5C,uCAAmD;AACnD,qGAA6E;AAC7E,6FAAoE;AAEpE,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,yBAAe,EACf,qBAAS,EACT,IAAA,gCAAsB,EAAC,KAAK,CAAC,CAC9B,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAiB,EAC5C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAClD,0BAAS,CAAC,MAAM,EAChB,KAAK,CACN,CAAC;IAEF,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE;YAAE,SAAS;QAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE5E,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EACvB,MAAM,EACN,0BAAS,CAAC,MAAM,EAChB,UAAU,CACX,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC;YACf,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,WAAW,EAAE,KAAK,CAAC,KAAK;YACxB,YAAY,EAAE,EAAE;YAChB,iBAAiB,EAAE,IAAI;YACvB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;KACJ;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,SAAS;YACpC,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,EAAE,WAAW,EAAE;YACrB,KAAK,EAAE,IAAA,+BAAc,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvE;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,QAAQ;IACzB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"poolsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/poolsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAoD;AACpD,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA4C;AAC5C,uCAAmD;AACnD,qGAA6E;AAC7E,6FAAoE;AAEpE,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,yBAAe,EACf,qBAAS,EACT,IAAA,gCAAsB,EAAC,KAAK,CAAC,CAC9B,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAiB,EAC5C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAClD,0BAAS,CAAC,MAAM,EAChB,KAAK,CACN,CAAC;IAEF,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE;YAAE,SAAS;QAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE5E,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EACvB,MAAM,EACN,0BAAS,CAAC,MAAM,EAChB,UAAU,CACX,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC;YACf,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,WAAW,EAAE,KAAK,CAAC,KAAK;YACxB,YAAY,EAAE,EAAE;YAChB,iBAAiB,EAAE,IAAI;YACvB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;KACJ;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,SAAS;YACpC,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,EAAE,WAAW,EAAE;YACrB,KAAK,EAAE,IAAA,+BAAc,EAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvE;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,QAAQ;IACzB,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -23,6 +23,8 @@ const sevenDays = 7 * 1000 * 60 * 60 * 24;
23
23
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
24
24
  const client = (0, clients_1.getClientSolana)();
25
25
  const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.userMetadataStruct, constants_1.stakerProgramId, (0, filters_1.stakingAccountFilter)(owner));
26
+ if (accounts.length === 0)
27
+ return [];
26
28
  const gofxTokenPrice = yield cache.getTokenPrice(constants_1.gofxMint, portfolio_core_1.NetworkId.solana);
27
29
  if (!gofxTokenPrice)
28
30
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAoE;AACpE,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA+C;AAC/C,uCAAiD;AACjD,qGAA6E;AAE7E,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE1C,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,4BAAkB,EAClB,2BAAe,EACf,IAAA,8BAAoB,EAAC,KAAK,CAAC,CAC5B,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,oBAAQ,EAAE,0BAAS,CAAC,MAAM,CAAC,CAAC;IAC7E,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC7C,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE;gBACpC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SACxD;QACD,IAAI,WAAW,CAAC,MAAM,EAAE;YAAE,SAAS;QAEnC,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACpC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEhE,MAAM,CAAC,IAAI,CACT,IAAA,gCAAsB,EAAC,oBAAQ,EAAE,MAAM,EAAE,0BAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAC3E,CAAC;KACH;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,QAAQ;YACnC,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1D;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"stakingFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/goosefx/stakingFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAKoC;AAGpC,2CAAoE;AACpE,iDAAsD;AACtD,+CAA8D;AAC9D,uCAA+C;AAC/C,uCAAiD;AACjD,qGAA6E;AAE7E,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE1C,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,4BAAkB,EAClB,2BAAe,EACf,IAAA,8BAAoB,EAAC,KAAK,CAAC,CAC5B,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,oBAAQ,EAAE,0BAAS,CAAC,MAAM,CAAC,CAAC;IAC7E,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAC7C,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE;gBACpC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SACxD;QACD,IAAI,WAAW,CAAC,MAAM,EAAE;YAAE,SAAS;QAEnC,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACpC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEhE,MAAM,CAAC,IAAI,CACT,IAAA,gCAAsB,EAAC,oBAAQ,EAAE,MAAM,EAAE,0BAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAC3E,CAAC;KACH;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO;QACL;YACE,IAAI,EAAE,qCAAoB,CAAC,QAAQ;YACnC,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAV,sBAAU;YACV,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1D;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -1,3 +1,6 @@
1
1
  import { PublicKey } from '@solana/web3.js';
2
+ export declare const platformId = "jupiter";
2
3
  export declare const jlpPool: PublicKey;
3
4
  export declare const jlpToken: PublicKey;
5
+ export declare const perpsProgramId: PublicKey;
6
+ export declare const custodiesKey = "custodies";
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jlpToken = exports.jlpPool = void 0;
3
+ exports.custodiesKey = exports.perpsProgramId = exports.jlpToken = exports.jlpPool = exports.platformId = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
+ exports.platformId = 'jupiter';
5
6
  exports.jlpPool = new web3_js_1.PublicKey('5BUwFW4nRbftYTDMbgxykoFWqWHPzahFSNAaaaJtVKsq');
6
7
  exports.jlpToken = new web3_js_1.PublicKey('27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4');
8
+ exports.perpsProgramId = new web3_js_1.PublicKey('PERPHjGBqRHArX4DySjwM6UJHiR3sWAatqfdBS2qQJu');
9
+ exports.custodiesKey = 'custodies';
7
10
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,OAAO,GAAG,IAAI,mBAAS,CAClC,8CAA8C,CAC/C,CAAC;AACW,QAAA,QAAQ,GAAG,IAAI,mBAAS,CACnC,8CAA8C,CAC/C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE/B,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,OAAO,GAAG,IAAI,mBAAS,CAClC,8CAA8C,CAC/C,CAAC;AACW,QAAA,QAAQ,GAAG,IAAI,mBAAS,CACnC,8CAA8C,CAC/C,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,mBAAS,CACzC,6CAA6C,CAC9C,CAAC;AAEW,QAAA,YAAY,GAAG,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
13
+ const clients_1 = require("../../utils/clients");
14
+ const solana_1 = require("../../utils/solana");
15
+ const filters_1 = require("../../utils/solana/filters");
16
+ const constants_1 = require("./constants");
17
+ const structs_1 = require("./structs");
18
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const client = (0, clients_1.getClientSolana)();
20
+ const custodiesAccounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.custodyStruct, constants_1.perpsProgramId, (0, filters_1.dataStructSizeFilter)(structs_1.custodyStruct));
21
+ if (custodiesAccounts.length === 0)
22
+ return;
23
+ const accounts = custodiesAccounts.map((acc) => (Object.assign({ pubkey: acc.pubkey.toString() }, acc)));
24
+ yield cache.setItem(constants_1.custodiesKey, accounts, {
25
+ prefix: constants_1.platformId,
26
+ networkId: portfolio_core_1.NetworkId.solana,
27
+ });
28
+ });
29
+ const job = {
30
+ id: `${constants_1.platformId}-custodies`,
31
+ executor,
32
+ };
33
+ exports.default = job;
34
+ //# sourceMappingURL=custodiesJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custodiesJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/custodiesJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,iDAAsD;AACtD,+CAA8D;AAC9D,wDAAkE;AAClE,2CAAuE;AACvE,uCAAmD;AAEnD,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,iBAAiB,GAAG,MAAM,IAAA,iCAAwB,EACtD,MAAM,EACN,uBAAa,EACb,0BAAc,EACd,IAAA,8BAAoB,EAAC,uBAAa,CAAC,CACpC,CAAC;IACF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE3C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAC9C,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IACzB,GAAe,EACnB,CAAC,CAAC;IAEJ,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAY,EAAE,QAAQ,EAAE;QAC1C,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,YAAY;IAC7B,QAAQ;CACT,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { GetProgramAccountsFilter } from '@solana/web3.js';
2
+ export declare const perpetualsPositionsFilter: (owner: string) => GetProgramAccountsFilter[];
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.perpetualsPositionsFilter = void 0;
4
+ const perpetualsPositionsFilter = (owner) => [
5
+ {
6
+ memcmp: {
7
+ offset: 8,
8
+ bytes: owner,
9
+ },
10
+ },
11
+ { dataSize: 216 },
12
+ ];
13
+ exports.perpetualsPositionsFilter = perpetualsPositionsFilter;
14
+ //# sourceMappingURL=filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/filters.ts"],"names":[],"mappings":";;;AAEO,MAAM,yBAAyB,GAAG,CACvC,KAAa,EACe,EAAE,CAAC;IAC/B;QACE,MAAM,EAAE;YACN,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,KAAK;SACb;KACF;IACD,EAAE,QAAQ,EAAE,GAAG,EAAE;CAClB,CAAC;AAVW,QAAA,yBAAyB,6BAUpC"}
@@ -5,6 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.fetchers = exports.jobs = void 0;
7
7
  const poolJob_1 = __importDefault(require("./poolJob"));
8
- exports.jobs = [poolJob_1.default];
9
- exports.fetchers = [];
8
+ const perpetualFetcher_1 = __importDefault(require("./perpetualFetcher"));
9
+ const custodiesJob_1 = __importDefault(require("./custodiesJob"));
10
+ exports.jobs = [poolJob_1.default, custodiesJob_1.default];
11
+ exports.fetchers = [perpetualFetcher_1.default];
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/index.ts"],"names":[],"mappings":";;;;;;AAEA,wDAAgC;AAEnB,QAAA,IAAI,GAAU,CAAC,iBAAO,CAAC,CAAC;AACxB,QAAA,QAAQ,GAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/index.ts"],"names":[],"mappings":";;;;;;AAEA,wDAAgC;AAChC,0EAAkD;AAClD,kEAA0C;AAE7B,QAAA,IAAI,GAAU,CAAC,iBAAO,EAAE,sBAAY,CAAC,CAAC;AACtC,QAAA,QAAQ,GAAc,CAAC,0BAAgB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,153 @@
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 bignumber_js_1 = __importDefault(require("bignumber.js"));
17
+ const web3_js_1 = require("@solana/web3.js");
18
+ const constants_1 = require("./constants");
19
+ const clients_1 = require("../../utils/clients");
20
+ const solana_1 = require("../../utils/solana");
21
+ const structs_1 = require("./structs");
22
+ const filters_1 = require("./filters");
23
+ const getMultipleAccountsInfoSafe_1 = require("../../utils/solana/getMultipleAccountsInfoSafe");
24
+ const helpers_1 = require("../../utils/solana/pyth/helpers");
25
+ const constants_2 = require("../tokens/constants");
26
+ const usdFactor = new bignumber_js_1.default(Math.pow(10, 6));
27
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
28
+ const client = (0, clients_1.getClientSolana)();
29
+ const perpetualsPositions = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.positionStruct, constants_1.perpsProgramId, (0, filters_1.perpetualsPositionsFilter)(owner));
30
+ if (perpetualsPositions.length === 0)
31
+ return [];
32
+ const custodiesAccounts = yield cache.getItem(constants_1.custodiesKey, {
33
+ prefix: constants_1.platformId,
34
+ networkId: portfolio_core_1.NetworkId.solana,
35
+ });
36
+ if (!custodiesAccounts)
37
+ return [];
38
+ const oraclesPubkeys = [];
39
+ const custodyById = new Map();
40
+ custodiesAccounts.forEach((acc) => {
41
+ oraclesPubkeys.push(new web3_js_1.PublicKey(acc.oracle.oracleAccount));
42
+ custodyById.set(acc.pubkey, acc);
43
+ });
44
+ const oracleAccounts = yield (0, getMultipleAccountsInfoSafe_1.getMultipleAccountsInfoSafe)(client, oraclesPubkeys);
45
+ const pythPricesByAccount = (0, helpers_1.getPythPricesDatasMap)(oraclesPubkeys, oracleAccounts);
46
+ const tokensDetailsById = new Map();
47
+ const tokensDetails = yield cache.getItems(custodiesAccounts.map((acc) => acc.mint), { prefix: constants_2.tokenListsDetailsPrefix, networkId: portfolio_core_1.NetworkId.solana });
48
+ tokensDetails.forEach((tD) => tD ? tokensDetailsById.set(tD.address, tD) : undefined);
49
+ const elements = [];
50
+ for (const position of perpetualsPositions) {
51
+ const custody = custodyById.get(position.custody.toString());
52
+ const collateralCustody = custodyById.get(position.collateralCustody.toString());
53
+ if (!custody || !collateralCustody)
54
+ continue;
55
+ const custodyPriceData = pythPricesByAccount.get(custody.oracle.oracleAccount);
56
+ const collateralCustodyPriceData = pythPricesByAccount.get(collateralCustody.oracle.oracleAccount);
57
+ if (!custodyPriceData ||
58
+ !custodyPriceData.price ||
59
+ !collateralCustodyPriceData ||
60
+ !collateralCustodyPriceData.price)
61
+ continue;
62
+ const borrowedAssets = [];
63
+ const borrowedYields = [];
64
+ const suppliedAssets = [];
65
+ const suppliedYields = [];
66
+ const rewardAssets = [];
67
+ const { collateralUsd, sizeUsd, price, cumulativeInterestSnapshot } = position;
68
+ const openingPrice = price.dividedBy(usdFactor);
69
+ const currentPrice = new bignumber_js_1.default(custodyPriceData.price);
70
+ const leverage = sizeUsd.dividedBy(collateralUsd);
71
+ const custodyDetails = tokensDetailsById.get(custody.mint);
72
+ const custodyName = custodyDetails ? custodyDetails.symbol : '';
73
+ const amountDeposited = collateralUsd
74
+ .dividedBy(collateralCustodyPriceData.price)
75
+ .dividedBy(usdFactor);
76
+ const depositValue = collateralUsd.dividedBy(usdFactor).toNumber();
77
+ suppliedAssets.push({
78
+ type: 'token',
79
+ networkId: portfolio_core_1.NetworkId.solana,
80
+ value: collateralUsd.dividedBy(usdFactor).toNumber(),
81
+ data: {
82
+ amount: amountDeposited.toNumber(),
83
+ address: collateralCustody.mint,
84
+ price: collateralCustodyPriceData.price,
85
+ },
86
+ });
87
+ const amountBorrowed = amountDeposited.times(leverage);
88
+ const borrowedValue = sizeUsd.dividedBy(usdFactor).toNumber();
89
+ borrowedAssets.push({
90
+ type: 'token',
91
+ networkId: portfolio_core_1.NetworkId.solana,
92
+ value: borrowedValue,
93
+ data: {
94
+ amount: amountBorrowed.toNumber(),
95
+ address: collateralCustody.mint,
96
+ price: collateralCustodyPriceData.price,
97
+ },
98
+ });
99
+ const borrowFee = sizeUsd
100
+ .times(new bignumber_js_1.default(collateralCustody.fundingRateState.cumulativeInterestRate).minus(cumulativeInterestSnapshot))
101
+ .dividedBy(Math.pow(10, 15))
102
+ .absoluteValue();
103
+ const openAndCloseFees = sizeUsd.times(0.001).times(2).dividedBy(usdFactor);
104
+ const fees = borrowFee.plus(openAndCloseFees).negated().toNumber();
105
+ const priceChange = position.side === structs_1.Side.Long
106
+ ? currentPrice.minus(openingPrice).dividedBy(openingPrice)
107
+ : openingPrice.minus(currentPrice).dividedBy(openingPrice);
108
+ const pnl = priceChange.times(leverage).times(depositValue).toNumber();
109
+ rewardAssets.push({
110
+ type: 'generic',
111
+ networkId: portfolio_core_1.NetworkId.solana,
112
+ value: pnl,
113
+ data: { name: 'PNL ($)', amount: pnl },
114
+ });
115
+ rewardAssets.push({
116
+ type: 'generic',
117
+ networkId: portfolio_core_1.NetworkId.solana,
118
+ value: fees,
119
+ data: { name: 'Fees O/C ($)', amount: fees },
120
+ });
121
+ if (suppliedAssets.length === 0 && borrowedAssets.length === 0)
122
+ continue;
123
+ const value = collateralUsd.dividedBy(usdFactor).plus(pnl).toNumber();
124
+ const side = position.side === structs_1.Side.Long ? 'Long' : 'Short';
125
+ elements.push({
126
+ type: portfolio_core_1.PortfolioElementType.borrowlend,
127
+ networkId: portfolio_core_1.NetworkId.solana,
128
+ platformId: constants_1.platformId,
129
+ label: 'Leverage',
130
+ value,
131
+ name: `${custodyName} ${side} ${leverage.decimalPlaces(2)}x`,
132
+ data: {
133
+ borrowedAssets,
134
+ borrowedValue,
135
+ borrowedYields,
136
+ suppliedAssets,
137
+ suppliedValue: depositValue,
138
+ suppliedYields,
139
+ collateralRatio: null,
140
+ rewardAssets,
141
+ value,
142
+ },
143
+ });
144
+ }
145
+ return elements;
146
+ });
147
+ const fetcher = {
148
+ id: `${constants_1.platformId}-perpetual`,
149
+ networkId: portfolio_core_1.NetworkId.solana,
150
+ executor,
151
+ };
152
+ exports.default = fetcher;
153
+ //# sourceMappingURL=perpetualFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perpetualFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/perpetualFetcher.ts"],"names":[],"mappings":"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"}
@@ -101,5 +101,29 @@ export type Custody = {
101
101
  fundingRateState: FundingRateState;
102
102
  bump: number;
103
103
  tokenAccountBump: number;
104
+ buffer1: Buffer;
104
105
  };
105
106
  export declare const custodyStruct: BeetStruct<Custody, Partial<Custody>>;
107
+ export declare enum Side {
108
+ None = 0,
109
+ Long = 1,
110
+ Short = 2
111
+ }
112
+ export type Position = {
113
+ buffer: Buffer;
114
+ owner: PublicKey;
115
+ pool: PublicKey;
116
+ custody: PublicKey;
117
+ collateralCustody: PublicKey;
118
+ openTime: BigNumber;
119
+ updateTime: BigNumber;
120
+ side: Side;
121
+ price: BigNumber;
122
+ sizeUsd: BigNumber;
123
+ collateralUsd: BigNumber;
124
+ realisedPnlUsd: BigNumber;
125
+ cumulativeInterestSnapshot: BigNumber;
126
+ lockedAmount: BigNumber;
127
+ bump: number;
128
+ };
129
+ export declare const positionStruct: BeetStruct<Position, Partial<Position>>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.custodyStruct = exports.fundingRateStateStruct = exports.assetsStruct = exports.permissionsStruct = exports.pricingParamsStruct = exports.oracleParamsStruct = exports.OracleType = exports.perpetualPoolStruct = exports.feesStruct = exports.poolAprStruct = exports.limitStruct = void 0;
3
+ exports.positionStruct = exports.Side = exports.custodyStruct = exports.fundingRateStateStruct = exports.assetsStruct = exports.permissionsStruct = exports.pricingParamsStruct = exports.oracleParamsStruct = exports.OracleType = exports.perpetualPoolStruct = exports.feesStruct = exports.poolAprStruct = exports.limitStruct = void 0;
4
4
  const beet_1 = require("@metaplex-foundation/beet");
5
5
  const beet_solana_1 = require("@metaplex-foundation/beet-solana");
6
6
  const solana_1 = require("../../utils/solana");
@@ -95,5 +95,29 @@ exports.custodyStruct = new beet_1.BeetStruct([
95
95
  ['fundingRateState', exports.fundingRateStateStruct],
96
96
  ['bump', beet_1.u8],
97
97
  ['tokenAccountBump', beet_1.u8],
98
+ ['buffer1', (0, solana_1.blob)(8)],
99
+ ], (args) => args);
100
+ var Side;
101
+ (function (Side) {
102
+ Side[Side["None"] = 0] = "None";
103
+ Side[Side["Long"] = 1] = "Long";
104
+ Side[Side["Short"] = 2] = "Short";
105
+ })(Side || (exports.Side = Side = {}));
106
+ exports.positionStruct = new beet_1.BeetStruct([
107
+ ['buffer', (0, solana_1.blob)(8)],
108
+ ['owner', beet_solana_1.publicKey],
109
+ ['pool', beet_solana_1.publicKey],
110
+ ['custody', beet_solana_1.publicKey],
111
+ ['collateralCustody', beet_solana_1.publicKey],
112
+ ['openTime', solana_1.i64],
113
+ ['updateTime', solana_1.i64],
114
+ ['side', beet_1.u8],
115
+ ['price', solana_1.u64],
116
+ ['sizeUsd', solana_1.u64],
117
+ ['collateralUsd', solana_1.u64],
118
+ ['realisedPnlUsd', solana_1.i64],
119
+ ['cumulativeInterestSnapshot', solana_1.u128],
120
+ ['lockedAmount', solana_1.u64],
121
+ ['bump', beet_1.u8],
98
122
  ], (args) => args);
99
123
  //# sourceMappingURL=structs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/structs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/structs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /// <reference types="node" />
2
+ export type CustodyInfo = Custody & {
3
+ pubkey: string;
4
+ };
5
+ type Custody = {
6
+ buffer: Buffer;
7
+ pool: string;
8
+ mint: string;
9
+ tokenAccount: string;
10
+ decimals: number;
11
+ isStable: boolean;
12
+ oracle: OracleParams;
13
+ pricing: PricingParams;
14
+ permissions: Permission;
15
+ targetRatioBps: string;
16
+ assets: Assets;
17
+ fundingRateState: FundingRateState;
18
+ bump: number;
19
+ tokenAccountBump: number;
20
+ };
21
+ declare enum OracleType {
22
+ None = 0,
23
+ Test = 1,
24
+ Pyth = 2
25
+ }
26
+ type OracleParams = {
27
+ oracleAccount: string;
28
+ oracleType: OracleType;
29
+ maxPriceError: string;
30
+ maxPriceAgeSec: string;
31
+ };
32
+ type PricingParams = {
33
+ tradeSpreadLong: string;
34
+ tradeSpreadShort: string;
35
+ swapSpread: string;
36
+ maxLeverage: string;
37
+ maxGlobalLongSizes: string;
38
+ maxGlobalShortSizes: string;
39
+ };
40
+ type Permission = {
41
+ allowSwap: boolean;
42
+ allowAddLiquidity: boolean;
43
+ allowRemoveLiquidity: boolean;
44
+ allowIncreasePosition: boolean;
45
+ allowDecreasePosition: boolean;
46
+ allowCollateralWithdrawal: boolean;
47
+ allowLiquidatePosition: boolean;
48
+ };
49
+ type Assets = {
50
+ feesReserves: string;
51
+ owned: string;
52
+ locked: string;
53
+ guaranteedUsd: string;
54
+ globalShortSizes: string;
55
+ globalShortAveragePrices: string;
56
+ };
57
+ type FundingRateState = {
58
+ cumulativeInterestRate: string;
59
+ lastUpdate: string;
60
+ hourlyFundingBps: string;
61
+ };
62
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var OracleType;
4
+ (function (OracleType) {
5
+ OracleType[OracleType["None"] = 0] = "None";
6
+ OracleType[OracleType["Test"] = 1] = "Test";
7
+ OracleType[OracleType["Pyth"] = 2] = "Pyth";
8
+ })(OracleType || (OracleType = {}));
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/jupiter/types.ts"],"names":[],"mappings":";;AAqBA,IAAK,UAIJ;AAJD,WAAK,UAAU;IACb,2CAAI,CAAA;IACJ,2CAAI,CAAA;IACJ,2CAAI,CAAA;AACN,CAAC,EAJI,UAAU,KAAV,UAAU,QAId"}
@@ -24,6 +24,8 @@ const tokenPriceToAssetToken_1 = __importDefault(require("../../../utils/misc/to
24
24
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
25
25
  const client = (0, clients_1.getClientSolana)();
26
26
  const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, struct_1.dcaStruct, constants_2.dcaProgramId, (0, filters_1.jupiterDCAFilter)(owner));
27
+ if (accounts.length === 0)
28
+ return [];
27
29
  const amountByToken = new Map();
28
30
  for (const account of accounts) {
29
31
  const inputMint = account.inputMint.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"dcaFetcher.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/orders/jupiter/dcaFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAIoC;AAIpC,4CAA0C;AAC1C,oDAAyD;AACzD,kDAAiE;AACjE,qCAAqC;AACrC,2CAA4D;AAC5D,uCAA6C;AAC7C,gGAAuE;AACvE,wGAAgF;AAEhF,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,kBAAS,EACT,wBAAY,EACZ,IAAA,0BAAgB,EAAC,KAAK,CAAC,CACxB,CAAC;IACF,MAAM,aAAa,GAA2B,IAAI,GAAG,EAAE,CAAC;IAExD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE;YACf,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SAC3C;aAAM;YACL,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/C,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SACzC;KACF;IAED,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAiB,EAC5C,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAChC,0BAAS,CAAC,MAAM,EAChB,KAAK,CACN,CAAC;IAEF,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,UAAU,CAAC,OAAO,EAClB,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,UAAU,CAAC,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,EACtD,0BAAS,CAAC,MAAM,EAChB,UAAU,CACX,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IACD,OAAO;QACL;YACE,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAE,2BAAe,CAAC,EAAE;YAC9B,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,eAAe,QAAQ,CAAC,MAAM,GAAG;YACvC,IAAI,EAAE,EAAE,MAAM,EAAE;SACjB;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,cAAc;IAC/B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"dcaFetcher.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/orders/jupiter/dcaFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAIoC;AAIpC,4CAA0C;AAC1C,oDAAyD;AACzD,kDAAiE;AACjE,qCAAqC;AACrC,2CAA4D;AAC5D,uCAA6C;AAC7C,gGAAuE;AACvE,wGAAgF;AAEhF,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAC7C,MAAM,EACN,kBAAS,EACT,wBAAY,EACZ,IAAA,0BAAgB,EAAC,KAAK,CAAC,CACxB,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,aAAa,GAA2B,IAAI,GAAG,EAAE,CAAC;IAExD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE;YACf,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SAC3C;aAAM;YACL,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/C,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SACzC;KACF;IAED,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAiB,EAC5C,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAChC,0BAAS,CAAC,MAAM,EAChB,KAAK,CACN,CAAC;IAEF,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,KAAK,GAAG,IAAA,gCAAsB,EAClC,UAAU,CAAC,OAAO,EAClB,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,UAAU,CAAC,QAAQ,CAAA,CAAC,CAAC,QAAQ,EAAE,EACtD,0BAAS,CAAC,MAAM,EAChB,UAAU,CACX,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IACD,OAAO;QACL;YACE,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,0BAAS,CAAC,MAAM;YAC3B,UAAU,EAAE,2BAAe,CAAC,EAAE;YAC9B,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,eAAe,QAAQ,CAAC,MAAM,GAAG;YACvC,IAAI,EAAE,EAAE,MAAM,EAAE;SACjB;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,cAAc;IAC/B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ import { Platform } from '@sonarwatch/portfolio-core';
3
+ export declare const platformId = "port";
4
+ export declare const platform: Platform;
5
+ export declare const portApi = "https://api-v1.port.finance";
6
+ export declare const programId: PublicKey;