@sonarwatch/portfolio-plugins 0.14.67 → 0.14.69

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 (59) hide show
  1. package/CHANGELOG.md +1856 -1848
  2. package/README.md +3 -3
  3. package/package.json +1 -1
  4. package/src/index.js +5 -0
  5. package/src/index.js.map +1 -1
  6. package/src/plugins/alphafi/constants.d.ts +0 -6
  7. package/src/plugins/alphafi/constants.js +1 -48
  8. package/src/plugins/alphafi/constants.js.map +1 -1
  9. package/src/plugins/alphafi/poolsInfos.d.ts +665 -0
  10. package/src/plugins/alphafi/poolsInfos.js +790 -0
  11. package/src/plugins/alphafi/poolsInfos.js.map +1 -0
  12. package/src/plugins/alphafi/poolsJob.js +138 -79
  13. package/src/plugins/alphafi/poolsJob.js.map +1 -1
  14. package/src/plugins/alphafi/positionsFetcher.js +70 -101
  15. package/src/plugins/alphafi/positionsFetcher.js.map +1 -1
  16. package/src/plugins/alphafi/types.d.ts +3 -2
  17. package/src/plugins/balancer/helpers/pools.js +21 -21
  18. package/src/plugins/deepbook/index.js +5 -1
  19. package/src/plugins/deepbook/index.js.map +1 -1
  20. package/src/plugins/kriya/constants.d.ts +1 -1
  21. package/src/plugins/kriya/constants.js +3 -2
  22. package/src/plugins/kriya/constants.js.map +1 -1
  23. package/src/plugins/kriya/leverageVaultsFetcher.js +49 -61
  24. package/src/plugins/kriya/leverageVaultsFetcher.js.map +1 -1
  25. package/src/plugins/kriya/leverageVaultsJob.js +14 -8
  26. package/src/plugins/kriya/leverageVaultsJob.js.map +1 -1
  27. package/src/plugins/pudgypenguins/airdropFetcher.d.ts +3 -0
  28. package/src/plugins/pudgypenguins/airdropFetcher.js +58 -0
  29. package/src/plugins/pudgypenguins/airdropFetcher.js.map +1 -0
  30. package/src/plugins/pudgypenguins/constants.d.ts +7 -0
  31. package/src/plugins/pudgypenguins/constants.js +23 -0
  32. package/src/plugins/pudgypenguins/constants.js.map +1 -0
  33. package/src/plugins/pudgypenguins/index.d.ts +8 -0
  34. package/src/plugins/pudgypenguins/index.js +10 -0
  35. package/src/plugins/pudgypenguins/index.js.map +1 -0
  36. package/src/plugins/pudgypenguins/structs.d.ts +17 -0
  37. package/src/plugins/pudgypenguins/structs.js +18 -0
  38. package/src/plugins/pudgypenguins/structs.js.map +1 -0
  39. package/src/plugins/pudgypenguins/types.d.ts +15 -0
  40. package/src/plugins/pudgypenguins/types.js +3 -0
  41. package/src/plugins/pudgypenguins/types.js.map +1 -0
  42. package/src/plugins/solayer/constants.d.ts +2 -0
  43. package/src/plugins/solayer/constants.js +5 -1
  44. package/src/plugins/solayer/constants.js.map +1 -1
  45. package/src/plugins/solayer/index.js +2 -1
  46. package/src/plugins/solayer/index.js.map +1 -1
  47. package/src/plugins/solayer/proofsFetcher.d.ts +3 -0
  48. package/src/plugins/solayer/proofsFetcher.js +69 -0
  49. package/src/plugins/solayer/proofsFetcher.js.map +1 -0
  50. package/src/plugins/solayer/structs.d.ts +45 -0
  51. package/src/plugins/solayer/structs.js +44 -1
  52. package/src/plugins/solayer/structs.js.map +1 -1
  53. package/src/plugins/suins/index.js +1 -1
  54. package/src/plugins/suins/index.js.map +1 -1
  55. package/src/plugins/sushiswap/helpers.js +24 -24
  56. package/src/plugins/uniswap-v2/helpers.js +22 -22
  57. package/src/plugins/zeta/airdropFetcher.js +14 -14
  58. package/src/utils/sei/constants.js +8 -8
  59. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
@@ -13,5 +13,9 @@ const poolsJob_2 = __importDefault(require("./v3/poolsJob"));
13
13
  const depositsFetcher_2 = __importDefault(require("./v3/depositsFetcher"));
14
14
  exports.platforms = [constants_1.platform];
15
15
  exports.jobs = [poolsJob_1.default, poolsJob_2.default];
16
- exports.fetchers = [depositsFetcher_1.default, depositsFetcher_2.default];
16
+ exports.fetchers = [
17
+ depositsFetcher_1.default,
18
+ depositsFetcher_2.default,
19
+ airdropFetcher_1.fetcher,
20
+ ];
17
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/deepbook/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,qDAAkD;AASzC,+FATA,+BAAc,OASA;AARvB,6DAAuC;AACvC,2EAAqD;AACrD,6DAAuC;AACvC,2EAAqD;AAExC,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,CAAC,kBAAU,EAAE,kBAAU,CAAC,CAAC;AACvC,QAAA,QAAQ,GAAc,CAAC,yBAAiB,EAAE,yBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/deepbook/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,qDAAwE;AAa/D,+FAbA,+BAAc,OAaA;AAZvB,6DAAuC;AACvC,2EAAqD;AACrD,6DAAuC;AACvC,2EAAqD;AAExC,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,CAAC,kBAAU,EAAE,kBAAU,CAAC,CAAC;AACvC,QAAA,QAAQ,GAAc;IACjC,yBAAiB;IACjB,yBAAiB;IACjB,wBAAS;CACV,CAAC"}
@@ -16,8 +16,8 @@ export declare const farmsStatsInfoKey = "farmsStatsInfos";
16
16
  export declare const vaultsUrl = "https://88ob93rfva.execute-api.ap-southeast-1.amazonaws.com/release/vaults";
17
17
  export declare const poolsUrl = "https://xd0ljetd33.execute-api.ap-southeast-1.amazonaws.com/release/pools";
18
18
  export declare const leverageVaultsUrl = "https://4sacq88271.execute-api.ap-southeast-1.amazonaws.com/release/vaults";
19
+ export declare const leverageLendingsVaultsUrl = "https://c19eainr59.execute-api.ap-southeast-1.amazonaws.com/release/vaults";
19
20
  export declare const poolsStats = "https://zunzoiv8l6.execute-api.ap-southeast-1.amazonaws.com/prod/pools/extended";
20
21
  export declare const vaultsInfo: VaultConfig[];
21
22
  export declare const dynamicFieldPositionTypeCetus = "0x2::dynamic_field::Field<vector<u8>, 0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::position::Position>";
22
23
  export declare const dynamicFieldPositionTypeKriya = "0x2::dynamic_field::Field<vector<u8>, 0xf6c05e2d9301e6e91dc6ab6c3ca918f7d55896e1f1edd64adc0e615cde27ebf1::position::Position>";
23
- export declare const KRIYA_V3_BASE_URL = "https://zunzoiv8l6.execute-api.ap-southeast-1.amazonaws.com/prod";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KRIYA_V3_BASE_URL = exports.dynamicFieldPositionTypeKriya = exports.dynamicFieldPositionTypeCetus = exports.vaultsInfo = exports.poolsStats = exports.leverageVaultsUrl = exports.poolsUrl = exports.vaultsUrl = exports.farmsStatsInfoKey = exports.farmsInfoKey = exports.leverageVaultsInfoKey = exports.vaultsInfoKey = exports.vaultStakeReceipt = exports.clmmType = exports.lpPositionTypeV2 = exports.clmmPoolPackageId = exports.poolsV2PackageId = exports.farmsPackageId = exports.vaultsPackageId = exports.platform = exports.platformId = void 0;
3
+ exports.dynamicFieldPositionTypeKriya = exports.dynamicFieldPositionTypeCetus = exports.vaultsInfo = exports.poolsStats = exports.leverageLendingsVaultsUrl = exports.leverageVaultsUrl = exports.poolsUrl = exports.vaultsUrl = exports.farmsStatsInfoKey = exports.farmsInfoKey = exports.leverageVaultsInfoKey = exports.vaultsInfoKey = exports.vaultStakeReceipt = exports.clmmType = exports.lpPositionTypeV2 = exports.clmmPoolPackageId = exports.poolsV2PackageId = exports.farmsPackageId = exports.vaultsPackageId = exports.platform = exports.platformId = void 0;
4
4
  const common_1 = require("./types/common");
5
5
  exports.platformId = 'kriya';
6
6
  exports.platform = {
@@ -25,6 +25,8 @@ exports.farmsStatsInfoKey = 'farmsStatsInfos';
25
25
  exports.vaultsUrl = 'https://88ob93rfva.execute-api.ap-southeast-1.amazonaws.com/release/vaults';
26
26
  exports.poolsUrl = 'https://xd0ljetd33.execute-api.ap-southeast-1.amazonaws.com/release/pools';
27
27
  exports.leverageVaultsUrl = 'https://4sacq88271.execute-api.ap-southeast-1.amazonaws.com/release/vaults';
28
+ // export const leverageVaultsUrl = 'https://vjkibmct3h.execute-api.ap-southeast-1.amazonaws.com/release/vaults';
29
+ exports.leverageLendingsVaultsUrl = 'https://c19eainr59.execute-api.ap-southeast-1.amazonaws.com/release/vaults';
28
30
  exports.poolsStats = 'https://zunzoiv8l6.execute-api.ap-southeast-1.amazonaws.com/prod/pools/extended';
29
31
  exports.vaultsInfo = [
30
32
  {
@@ -84,5 +86,4 @@ exports.vaultsInfo = [
84
86
  ];
85
87
  exports.dynamicFieldPositionTypeCetus = '0x2::dynamic_field::Field<vector<u8>, 0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::position::Position>';
86
88
  exports.dynamicFieldPositionTypeKriya = '0x2::dynamic_field::Field<vector<u8>, 0xf6c05e2d9301e6e91dc6ab6c3ca918f7d55896e1f1edd64adc0e615cde27ebf1::position::Position>';
87
- exports.KRIYA_V3_BASE_URL = 'https://zunzoiv8l6.execute-api.ap-southeast-1.amazonaws.com/prod';
88
89
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/constants.ts"],"names":[],"mappings":";;;AACA,2CAAkD;AAErC,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,8CAA8C;IACrD,WAAW,EAAE,iBAAiB,EAAE,sCAAsC;IACtE,OAAO,EAAE,gCAAgC;IACzC,OAAO,EAAE,8BAA8B;CACxC,CAAC;AAEW,QAAA,eAAe,GAC1B,oEAAoE,CAAC;AAC1D,QAAA,cAAc,GACzB,oEAAoE,CAAC;AAC1D,QAAA,gBAAgB,GAC3B,oEAAoE,CAAC;AAC1D,QAAA,iBAAiB,GAC5B,oEAAoE,CAAC;AAC1D,QAAA,gBAAgB,GAAG,GAAG,wBAAgB,0BAA0B,CAAC;AACjE,QAAA,QAAQ,GAAG,GAAG,yBAAiB,sBAAsB,CAAC;AACtD,QAAA,iBAAiB,GAC5B,wFAAwF,CAAC;AAE9E,QAAA,aAAa,GAAG,aAAa,CAAC;AAC9B,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAC9C,QAAA,YAAY,GAAG,YAAY,CAAC;AAC5B,QAAA,iBAAiB,GAAG,iBAAiB,CAAC;AAEtC,QAAA,SAAS,GACpB,4EAA4E,CAAC;AAClE,QAAA,QAAQ,GACnB,2EAA2E,CAAC;AACjE,QAAA,iBAAiB,GAC5B,4EAA4E,CAAC;AAClE,QAAA,UAAU,GACrB,iFAAiF,CAAC;AAEvE,QAAA,UAAU,GAAkB;IACvC;QACE,SAAS,EACP,wGAAwG;QAC1G,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,4GAA4G;QAC9G,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,8FAA8F;QAChG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,EAAE,EAAE,oEAAoE;QACxE,SAAS,EACP,8GAA8G;QAChH,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,EAAE,EAAE,oEAAoE;QACxE,SAAS,EACP,oGAAoG;QACtG,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,oGAAoG;QACtG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,sGAAsG;QACxG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,8GAA8G;QAChH,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,kGAAkG;QACpG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;CACF,CAAC;AAEW,QAAA,6BAA6B,GACxC,+HAA+H,CAAC;AACrH,QAAA,6BAA6B,GACxC,+HAA+H,CAAC;AAErH,QAAA,iBAAiB,GAC5B,kEAAkE,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/constants.ts"],"names":[],"mappings":";;;AACA,2CAAkD;AAErC,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,8CAA8C;IACrD,WAAW,EAAE,iBAAiB,EAAE,sCAAsC;IACtE,OAAO,EAAE,gCAAgC;IACzC,OAAO,EAAE,8BAA8B;CACxC,CAAC;AAEW,QAAA,eAAe,GAC1B,oEAAoE,CAAC;AAC1D,QAAA,cAAc,GACzB,oEAAoE,CAAC;AAC1D,QAAA,gBAAgB,GAC3B,oEAAoE,CAAC;AAC1D,QAAA,iBAAiB,GAC5B,oEAAoE,CAAC;AAC1D,QAAA,gBAAgB,GAAG,GAAG,wBAAgB,0BAA0B,CAAC;AACjE,QAAA,QAAQ,GAAG,GAAG,yBAAiB,sBAAsB,CAAC;AACtD,QAAA,iBAAiB,GAC5B,wFAAwF,CAAC;AAE9E,QAAA,aAAa,GAAG,aAAa,CAAC;AAC9B,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAC9C,QAAA,YAAY,GAAG,YAAY,CAAC;AAC5B,QAAA,iBAAiB,GAAG,iBAAiB,CAAC;AAEtC,QAAA,SAAS,GACpB,4EAA4E,CAAC;AAClE,QAAA,QAAQ,GACnB,2EAA2E,CAAC;AACjE,QAAA,iBAAiB,GAC5B,4EAA4E,CAAC;AAC/E,iHAAiH;AACpG,QAAA,yBAAyB,GACpC,4EAA4E,CAAC;AAClE,QAAA,UAAU,GACrB,iFAAiF,CAAC;AAEvE,QAAA,UAAU,GAAkB;IACvC;QACE,SAAS,EACP,wGAAwG;QAC1G,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,4GAA4G;QAC9G,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,8FAA8F;QAChG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,EAAE,EAAE,oEAAoE;QACxE,SAAS,EACP,8GAA8G;QAChH,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,EAAE,EAAE,oEAAoE;QACxE,SAAS,EACP,oGAAoG;QACtG,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,oGAAoG;QACtG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,sGAAsG;QACxG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,8GAA8G;QAChH,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,kGAAkG;QACpG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;CACF,CAAC;AAEW,QAAA,6BAA6B,GACxC,+HAA+H,CAAC;AACrH,QAAA,6BAA6B,GACxC,+HAA+H,CAAC"}
@@ -16,9 +16,9 @@ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
16
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
17
17
  const constants_1 = require("./constants");
18
18
  const clients_1 = require("../../utils/clients");
19
- const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
20
19
  const MemoizedCache_1 = require("../../utils/misc/MemoizedCache");
21
20
  const getOwnedObjectsPreloaded_1 = require("../../utils/sui/getOwnedObjectsPreloaded");
21
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
22
22
  const leverageVaultsMemo = new MemoizedCache_1.MemoizedCache(constants_1.leverageVaultsInfoKey, {
23
23
  prefix: constants_1.platformId,
24
24
  networkId: portfolio_core_1.NetworkId.sui,
@@ -28,79 +28,67 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
28
28
  const leverageVaults = yield leverageVaultsMemo.getItem(cache);
29
29
  const receipts = yield (0, getOwnedObjectsPreloaded_1.getOwnedObjectsPreloaded)(client, owner, {
30
30
  filter: {
31
- MatchAny: leverageVaults.map((v) => ({
32
- StructType: v.farmStakeReceiptType,
33
- })),
31
+ MatchAny: Array.from(new Set(leverageVaults.map((v) => v.farmStakeReceiptType)))
32
+ .map((s) => s
33
+ ? {
34
+ StructType: s,
35
+ }
36
+ : null)
37
+ .filter((s) => s !== null),
34
38
  },
35
39
  });
40
+ console.log(Array.from(new Set(leverageVaults.map((v) => v.farmStakeReceiptType)))
41
+ .map((s) => s
42
+ ? {
43
+ StructType: s,
44
+ }
45
+ : null)
46
+ .filter((s) => s !== null));
36
47
  if (receipts.length === 0)
37
48
  return [];
38
- const mints = new Set();
39
- receipts.forEach((pos) => {
40
- var _a;
41
- const posContent = (_a = pos.data) === null || _a === void 0 ? void 0 : _a.content;
42
- if (!posContent)
49
+ const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.sui, constants_1.platformId);
50
+ receipts.forEach((receipt) => {
51
+ var _a, _b, _c, _d, _e;
52
+ if (!receipt)
43
53
  return;
44
- const vault = leverageVaults.find((v) => { var _a, _b; return v.farmId === ((_b = (_a = pos.data) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.fields.farm_id); });
45
- if (!vault)
54
+ console.log((_a = receipt.data) === null || _a === void 0 ? void 0 : _a.type, (_c = (_b = receipt.data) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.fields);
55
+ let shares;
56
+ let farmId;
57
+ if (((_d = receipt.data) === null || _d === void 0 ? void 0 : _d.type) ===
58
+ '0xba0dd78bdd5d1b5f02a689444522ea9a79e1bc4cd4d8e6a57b59f3fbcae5e978::farm::StakeReceipt') {
59
+ const receiptContent = (_e = receipt.data) === null || _e === void 0 ? void 0 : _e.content;
60
+ shares = new bignumber_js_1.default(receiptContent.fields.shares);
61
+ farmId = receiptContent.fields.farm_id;
62
+ }
63
+ else {
64
+ console.log(receipt);
65
+ // StakeReceiptWithPoints
66
+ // receipt.data?.content?.fields.farm_id
67
+ }
68
+ const vault = leverageVaults.find((v) => v.farmId === farmId);
69
+ console.log(vault);
70
+ if (!vault || !shares)
46
71
  return;
47
- mints.add(vault.coinA);
48
- mints.add(vault.coinB);
49
- });
50
- const tokenPrices = yield cache.getTokenPricesAsMap(mints, portfolio_core_1.NetworkId.sui);
51
- if (!tokenPrices)
52
- return [];
53
- const elements = [];
54
- receipts.forEach((pos) => {
55
- var _a;
56
- const posContent = (_a = pos.data) === null || _a === void 0 ? void 0 : _a.content;
57
- if (!posContent)
58
- return;
59
- const vault = leverageVaults.find((v) => { var _a, _b; return v.farmId === ((_b = (_a = pos.data) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.fields.farm_id); });
60
- if (!vault)
61
- return;
62
- const tokenPriceA = tokenPrices.get(vault.coinA);
63
- const tokenPriceB = tokenPrices.get(vault.coinB);
64
- if (!tokenPriceA || !tokenPriceB)
65
- return;
66
- const sharesPercentage = new bignumber_js_1.default(posContent.fields.rewards_stake_receipt.fields.shares).dividedBy(vault.lpSupply);
72
+ const sharesPercentage = shares.dividedBy(vault.lpSupply);
67
73
  const depositedUsd = sharesPercentage.multipliedBy(vault.tvl);
68
74
  if (depositedUsd.isZero())
69
75
  return;
70
- const borrowedAssets = [];
71
- const borrowedYields = [];
72
- const suppliedAssets = [];
73
- const suppliedYields = [];
74
- const rewardAssets = [];
75
- suppliedAssets.push((0, tokenPriceToAssetToken_1.default)(tokenPriceA.address, sharesPercentage.multipliedBy(vault.depositedA).toNumber(), portfolio_core_1.NetworkId.sui, tokenPriceA));
76
- borrowedAssets.push((0, tokenPriceToAssetToken_1.default)(tokenPriceB.address, sharesPercentage.multipliedBy(vault.borrowedB).toNumber(), portfolio_core_1.NetworkId.sui, tokenPriceB));
77
- const { borrowedValue, suppliedValue, value, rewardValue, healthRatio } = (0, portfolio_core_1.getElementLendingValues)({
78
- suppliedAssets,
79
- borrowedAssets,
80
- rewardAssets,
81
- });
82
- elements.push({
83
- type: portfolio_core_1.PortfolioElementType.borrowlend,
84
- networkId: portfolio_core_1.NetworkId.sui,
85
- platformId: constants_1.platformId,
76
+ const element = elementRegistry.addElementBorrowlend({
86
77
  label: 'Lending',
87
78
  name: `${vault.vaultSource} ${vault.vaultName}`,
88
- value,
89
- data: {
90
- borrowedAssets,
91
- borrowedValue,
92
- borrowedYields,
93
- suppliedAssets,
94
- suppliedValue,
95
- suppliedYields,
96
- healthRatio,
97
- rewardAssets,
98
- rewardValue,
99
- value,
100
- },
79
+ });
80
+ element.addSuppliedAsset({
81
+ address: vault.coinA,
82
+ amount: sharesPercentage.multipliedBy(vault.depositedA).toNumber(),
83
+ alreadyShifted: true,
84
+ });
85
+ element.addBorrowedAsset({
86
+ address: vault.coinB,
87
+ amount: sharesPercentage.multipliedBy(vault.borrowedB).toNumber(),
88
+ alreadyShifted: true,
101
89
  });
102
90
  });
103
- return elements;
91
+ return elementRegistry.getElements(cache);
104
92
  });
105
93
  const fetcher = {
106
94
  id: `${constants_1.platformId}-leverage-vaults`,
@@ -1 +1 @@
1
- {"version":3,"file":"leverageVaultsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/leverageVaultsFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"leverageVaultsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/leverageVaultsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAuD;AACvD,gEAAqC;AAGrC,2CAAgE;AAChE,iDAAmD;AAEnD,kEAA+D;AAC/D,uFAAoF;AACpF,gFAA6E;AAG7E,MAAM,kBAAkB,GAAG,IAAI,6BAAa,CAC1C,iCAAqB,EACrB;IACE,MAAM,EAAE,sBAAU;IAClB,SAAS,EAAE,0BAAS,CAAC,GAAG;CACzB,CACF,CAAC;AAEF,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,IAAA,sBAAY,GAAE,CAAC;IAE9B,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,MAAM,IAAA,mDAAwB,EAAC,MAAM,EAAE,KAAK,EAAE;QAC7D,MAAM,EAAE;YACN,QAAQ,EAAE,KAAK,CAAC,IAAI,CAClB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAC3D;iBACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC;gBACC,CAAC,CAAC;oBACE,UAAU,EAAE,CAAC;iBACd;gBACH,CAAC,CAAC,IAAI,CACT;iBACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAA6B;SACzD;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;SACnE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC;QACC,CAAC,CAAC;YACE,UAAU,EAAE,CAAC;SACd;QACH,CAAC,CAAC,IAAI,CACT;SACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAA6B,CACzD,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,GAAG,EAAE,sBAAU,CAAC,CAAC;IAEvE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;QAC3B,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,OAAO,CAAC,GAAG,CAAC,MAAA,OAAO,CAAC,IAAI,0CAAE,IAAI,EAAE,MAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,OAAO,0CAAE,MAAM,CAAC,CAAC;QAE/D,IAAI,MAA6B,CAAC;QAClC,IAAI,MAA0B,CAAC;QAC/B,IACE,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,IAAI;YAClB,wFAAwF,EACxF,CAAC;YACD,MAAM,cAAc,GAAG,MAAA,OAAO,CAAC,IAAI,0CAAE,OAGnC,CAAC;YACH,MAAM,GAAG,IAAI,sBAAS,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,yBAAyB;YACzB,wCAAwC;QAC1C,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO;QAE9B,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE1D,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9D,IAAI,YAAY,CAAC,MAAM,EAAE;YAAE,OAAO;QAElC,MAAM,OAAO,GAAG,eAAe,CAAC,oBAAoB,CAAC;YACnD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,EAAE;SAChD,CAAC,CAAC;QACH,OAAO,CAAC,gBAAgB,CAAC;YACvB,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;YAClE,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,OAAO,CAAC,gBAAgB,CAAC;YACvB,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;YACjE,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,kBAAkB;IACnC,SAAS,EAAE,0BAAS,CAAC,GAAG;IACxB,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -16,15 +16,21 @@ const axios_1 = __importDefault(require("axios"));
16
16
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
17
17
  const constants_1 = require("./constants");
18
18
  const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
19
- const vaults = yield axios_1.default
20
- .get(constants_1.leverageVaultsUrl)
21
- .catch(() => null);
22
- if (!vaults)
19
+ const [vaults, leverageLendingVaults] = yield Promise.all([
20
+ undefined, // axios.get<LeverageVaultInfo[]>(leverageVaultsUrl).catch(() => null),
21
+ axios_1.default.get(constants_1.leverageLendingsVaultsUrl).catch(() => null),
22
+ ]);
23
+ if (!vaults && !leverageLendingVaults)
23
24
  return;
24
- yield cache.setItem(constants_1.leverageVaultsInfoKey, vaults.data, {
25
- prefix: constants_1.platformId,
26
- networkId: portfolio_core_1.NetworkId.sui,
27
- });
25
+ const allVaults = [];
26
+ // if (vaults) allVaults.push(...vaults.data);
27
+ if (leverageLendingVaults)
28
+ allVaults.push(...leverageLendingVaults.data);
29
+ if (allVaults.length > 0)
30
+ yield cache.setItem(constants_1.leverageVaultsInfoKey, allVaults, {
31
+ prefix: constants_1.platformId,
32
+ networkId: portfolio_core_1.NetworkId.sui,
33
+ });
28
34
  });
29
35
  const job = {
30
36
  id: `${constants_1.platformId}-leverage-vaults`,
@@ -1 +1 @@
1
- {"version":3,"file":"leverageVaultsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/leverageVaultsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA6C;AAC7C,+DAAuD;AAGvD,2CAIqB;AAGrB,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAA8C,MAAM,eAAK;SAClE,GAAG,CAAC,6BAAiB,CAAC;SACtB,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAErB,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,KAAK,CAAC,OAAO,CAAC,iCAAqB,EAAE,MAAM,CAAC,IAAI,EAAE;QACtD,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,GAAG;KACzB,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,kBAAkB;IACnC,QAAQ;IACR,KAAK,EAAE,QAAQ;CAChB,CAAC;AACF,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"leverageVaultsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/leverageVaultsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+DAAuD;AAGvD,2CAKqB;AAGrB,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,SAAS,EAAE,uEAAuE;QAClF,eAAK,CAAC,GAAG,CAAsB,qCAAyB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KAC5E,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,IAAI,CAAC,qBAAqB;QAAE,OAAO;IAE9C,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,8CAA8C;IAC9C,IAAI,qBAAqB;QAAE,SAAS,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEzE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QACtB,MAAM,KAAK,CAAC,OAAO,CAAC,iCAAqB,EAAE,SAAS,EAAE;YACpD,MAAM,EAAE,sBAAU;YAClB,SAAS,EAAE,0BAAS,CAAC,GAAG;SACzB,CAAC,CAAC;AACP,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,kBAAkB;IACnC,QAAQ;IACR,KAAK,EAAE,QAAQ;CAChB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { AirdropFetcher } from '../../AirdropFetcher';
2
+ export declare const airdropFetcher: AirdropFetcher;
3
+ export declare const fetcher: import("../..").Fetcher;
@@ -0,0 +1,58 @@
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
+ exports.fetcher = exports.airdropFetcher = void 0;
13
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
14
+ const AirdropFetcher_1 = require("../../AirdropFetcher");
15
+ const constants_1 = require("./constants");
16
+ const executor = (owner) => __awaiter(void 0, void 0, void 0, function* () {
17
+ try {
18
+ const res = yield fetch(`${constants_1.airdropApi + owner}?`);
19
+ const response = yield res.json();
20
+ const items = response.categories
21
+ .map((category) => category.items.filter((i) => i.address === owner))
22
+ .flat();
23
+ if (items.length) {
24
+ const amount = items.reduce((previousValue, item) => Number((item === null || item === void 0 ? void 0 : item.amount) || 0) + previousValue, 0);
25
+ const isClaimed = response.totalUnclaimed < amount;
26
+ return (0, AirdropFetcher_1.getAirdropRaw)({
27
+ statics: constants_1.airdropStatics,
28
+ items: [
29
+ {
30
+ amount,
31
+ isClaimed,
32
+ label: 'PENGU',
33
+ address: constants_1.pudgyMint,
34
+ },
35
+ ],
36
+ });
37
+ }
38
+ }
39
+ catch (err) { }
40
+ return (0, AirdropFetcher_1.getAirdropRaw)({
41
+ statics: constants_1.airdropStatics,
42
+ items: [
43
+ {
44
+ amount: 0,
45
+ isClaimed: false,
46
+ label: 'PENGU',
47
+ address: constants_1.pudgyMint,
48
+ },
49
+ ],
50
+ });
51
+ });
52
+ exports.airdropFetcher = {
53
+ id: constants_1.airdropStatics.id,
54
+ networkId: portfolio_core_1.NetworkId.solana,
55
+ executor,
56
+ };
57
+ exports.fetcher = (0, AirdropFetcher_1.airdropFetcherToFetcher)(exports.airdropFetcher, constants_1.platform.id, 'pudgy-airdrop', constants_1.airdropStatics.claimEnd);
58
+ //# sourceMappingURL=airdropFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airdropFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/pudgypenguins/airdropFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAuD;AACvD,yDAK8B;AAE9B,2CAA8E;AAG9E,MAAM,QAAQ,GAA2B,CAAO,KAAa,EAAE,EAAE;IAC/D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,sBAAU,GAAG,KAAK,GAAG,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAoB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEnD,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU;aAC9B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;aACpE,IAAI,EAAE,CAAC;QAEV,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CACzB,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,CAAC,CAAC,GAAG,aAAa,EAClE,CAAC,CACF,CAAC;YACF,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC;YAEnD,OAAO,IAAA,8BAAa,EAAC;gBACnB,OAAO,EAAE,0BAAc;gBACvB,KAAK,EAAE;oBACL;wBACE,MAAM;wBACN,SAAS;wBACT,KAAK,EAAE,OAAO;wBACd,OAAO,EAAE,qBAAS;qBACnB;iBACF;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC,CAAA,CAAC;IAEhB,OAAO,IAAA,8BAAa,EAAC;QACnB,OAAO,EAAE,0BAAc;QACvB,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,qBAAS;aACnB;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;AAEW,QAAA,OAAO,GAAG,IAAA,wCAAuB,EAC5C,sBAAc,EACd,oBAAQ,CAAC,EAAE,EACX,eAAe,EACf,0BAAc,CAAC,QAAQ,CACxB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Platform } from '@sonarwatch/portfolio-core';
2
+ import { AirdropStatics } from '../../AirdropFetcher';
3
+ export declare const platformId = "pudgy";
4
+ export declare const platform: Platform;
5
+ export declare const pudgyMint = "2zMMhcVQEXDtdE6vsFS7S7D5oUodfJHE8vd1gnBouauv";
6
+ export declare const airdropApi = "https://api.clusters.xyz/v0.1/airdrops/pengu/eligibility/";
7
+ export declare const airdropStatics: AirdropStatics;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.airdropStatics = exports.airdropApi = exports.pudgyMint = exports.platform = exports.platformId = void 0;
4
+ exports.platformId = 'pudgy';
5
+ exports.platform = {
6
+ id: exports.platformId,
7
+ name: 'Pudgy Penguins',
8
+ image: 'https://sonar.watch/img/platforms/pudgypenguins.webp',
9
+ website: 'https://pudgypenguins.com/',
10
+ twitter: 'https://x.com/pudgypenguins',
11
+ };
12
+ exports.pudgyMint = '2zMMhcVQEXDtdE6vsFS7S7D5oUodfJHE8vd1gnBouauv';
13
+ exports.airdropApi = 'https://api.clusters.xyz/v0.1/airdrops/pengu/eligibility/';
14
+ exports.airdropStatics = {
15
+ claimLink: 'https://claim.pudgypenguins.com/',
16
+ emitterLink: 'https://pudgypenguins.com/',
17
+ emitterName: 'Pudgy Penguins',
18
+ id: 'pudgy-airdrop',
19
+ image: 'https://sonar.watch/img/platforms/pudgypenguins.webp',
20
+ claimStart: 1734440400000,
21
+ claimEnd: 1742043600000,
22
+ };
23
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/pudgypenguins/constants.ts"],"names":[],"mappings":";;;AAGa,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,sDAAsD;IAC7D,OAAO,EAAE,4BAA4B;IACrC,OAAO,EAAE,6BAA6B;CACvC,CAAC;AAEW,QAAA,SAAS,GAAG,8CAA8C,CAAC;AAC3D,QAAA,UAAU,GACrB,2DAA2D,CAAC;AAEjD,QAAA,cAAc,GAAmB;IAC5C,SAAS,EAAE,kCAAkC;IAC7C,WAAW,EAAE,4BAA4B;IACzC,WAAW,EAAE,gBAAgB;IAC7B,EAAE,EAAE,eAAe;IACnB,KAAK,EAAE,sDAAsD;IAC7D,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;CACxB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Platform } from '@sonarwatch/portfolio-core';
2
+ import { Fetcher } from '../../Fetcher';
3
+ import { Job } from '../../Job';
4
+ import { airdropFetcher } from './airdropFetcher';
5
+ export declare const platforms: Platform[];
6
+ export declare const jobs: Job[];
7
+ export declare const fetchers: Fetcher[];
8
+ export { airdropFetcher };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.airdropFetcher = exports.fetchers = exports.jobs = exports.platforms = void 0;
4
+ const constants_1 = require("./constants");
5
+ const airdropFetcher_1 = require("./airdropFetcher");
6
+ Object.defineProperty(exports, "airdropFetcher", { enumerable: true, get: function () { return airdropFetcher_1.airdropFetcher; } });
7
+ exports.platforms = [constants_1.platform];
8
+ exports.jobs = [];
9
+ exports.fetchers = [airdropFetcher_1.fetcher];
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/pudgypenguins/index.ts"],"names":[],"mappings":";;;AAGA,2CAAuC;AACvC,qDAA2D;AAKlD,+FALA,+BAAc,OAKA;AAHV,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,EAAE,CAAC;AACjB,QAAA,QAAQ,GAAc,CAAC,wBAAO,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
+ import { BeetStruct } from '@metaplex-foundation/beet';
4
+ import { PublicKey } from '@solana/web3.js';
5
+ import BigNumber from 'bignumber.js';
6
+ export type LockUp = {
7
+ buffer: Buffer;
8
+ ns: PublicKey;
9
+ owner: PublicKey;
10
+ amount: BigNumber;
11
+ startTs: BigNumber;
12
+ endTs: BigNumber;
13
+ targetRewardsPct: number;
14
+ targetVotingPct: number;
15
+ padding: number[];
16
+ };
17
+ export declare const lockUpStruct: BeetStruct<LockUp, Partial<LockUp>>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lockUpStruct = void 0;
4
+ const beet_1 = require("@metaplex-foundation/beet");
5
+ const beet_solana_1 = require("@metaplex-foundation/beet-solana");
6
+ const solana_1 = require("../../utils/solana");
7
+ exports.lockUpStruct = new beet_1.BeetStruct([
8
+ ['buffer', (0, solana_1.blob)(8)],
9
+ ['ns', beet_solana_1.publicKey],
10
+ ['owner', beet_solana_1.publicKey],
11
+ ['amount', solana_1.u64],
12
+ ['startTs', solana_1.i64],
13
+ ['endTs', solana_1.i64],
14
+ ['targetRewardsPct', beet_1.u16],
15
+ ['targetVotingPct', beet_1.u16],
16
+ ['padding', (0, beet_1.uniformFixedSizeArray)(beet_1.u8, 240)],
17
+ ], (args) => args);
18
+ //# sourceMappingURL=structs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/pudgypenguins/structs.ts"],"names":[],"mappings":";;;AAAA,oDAKmC;AACnC,kEAA6D;AAG7D,+CAAoD;AAcvC,QAAA,YAAY,GAAG,IAAI,iBAAU,CACxC;IACE,CAAC,QAAQ,EAAE,IAAA,aAAI,EAAC,CAAC,CAAC,CAAC;IACnB,CAAC,IAAI,EAAE,uBAAS,CAAC;IACjB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,QAAQ,EAAE,YAAG,CAAC;IACf,CAAC,SAAS,EAAE,YAAG,CAAC;IAChB,CAAC,OAAO,EAAE,YAAG,CAAC;IACd,CAAC,kBAAkB,EAAE,UAAG,CAAC;IACzB,CAAC,iBAAiB,EAAE,UAAG,CAAC;IACxB,CAAC,SAAS,EAAE,IAAA,4BAAqB,EAAC,SAAE,EAAE,GAAG,CAAC,CAAC;CAC5C,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAc,CACzB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export type AirdropResponse = {
2
+ total: number;
3
+ totalUnclaimed: number;
4
+ categories: Category[];
5
+ addresses: string[];
6
+ };
7
+ export type Category = {
8
+ category: string;
9
+ items: Item[];
10
+ total: number;
11
+ };
12
+ export type Item = {
13
+ address: string;
14
+ amount: number;
15
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/pudgypenguins/types.ts"],"names":[],"mappings":""}
@@ -4,8 +4,10 @@ import { Platform } from '@sonarwatch/portfolio-core';
4
4
  export declare const platformId = "solayer";
5
5
  export declare const platform: Platform;
6
6
  export declare const programId: PublicKey;
7
+ export declare const solayersUSDCPid: PublicKey;
7
8
  export declare const solayerLstPool = "po1osKDWYF9oiVEGmzKA4eTs8eMveFRMox3bUKazGN2";
8
9
  export declare const solayerLstMint = "sSo1wxKKr6zW2hqf5hZrp2CawLibcwi1pMBqk5bg2G4";
9
10
  export declare const solayerRstMint = "sSo14endRuUbvQaJS3dq36Q829a3A6BEfoeeRGJywEh";
11
+ export declare const solayersUSDMint = "susdabGDNbhrnCa6ncrYo81u4s9GM8ecK2UwMyZiq4X";
10
12
  export declare const solayerLstDecimals = 9;
11
13
  export declare const avsTokens: string[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.avsTokens = exports.solayerLstDecimals = exports.solayerRstMint = exports.solayerLstMint = exports.solayerLstPool = exports.programId = exports.platform = exports.platformId = void 0;
3
+ exports.avsTokens = exports.solayerLstDecimals = exports.solayersUSDMint = exports.solayerRstMint = exports.solayerLstMint = exports.solayerLstPool = exports.solayersUSDCPid = exports.programId = exports.platform = exports.platformId = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  exports.platformId = 'solayer';
6
6
  exports.platform = {
@@ -12,15 +12,19 @@ exports.platform = {
12
12
  defiLlamaId: 'parent#solayer',
13
13
  };
14
14
  exports.programId = new web3_js_1.PublicKey('sSo1iU21jBrU9VaJ8PJib1MtorefUV4fzC9GURa2KNn');
15
+ exports.solayersUSDCPid = new web3_js_1.PublicKey('s1aysqpEyZyijPybUV89oBGeooXrR22wMNLjnG2SWJA');
15
16
  // export const stakePoolProgramId = 'SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy'
16
17
  exports.solayerLstPool = 'po1osKDWYF9oiVEGmzKA4eTs8eMveFRMox3bUKazGN2';
17
18
  exports.solayerLstMint = 'sSo1wxKKr6zW2hqf5hZrp2CawLibcwi1pMBqk5bg2G4';
18
19
  exports.solayerRstMint = 'sSo14endRuUbvQaJS3dq36Q829a3A6BEfoeeRGJywEh';
20
+ exports.solayersUSDMint = 'susdabGDNbhrnCa6ncrYo81u4s9GM8ecK2UwMyZiq4X';
19
21
  exports.solayerLstDecimals = 9;
20
22
  exports.avsTokens = [
21
23
  'sonickAJFiVLcYXx25X9vpF293udaWqDMUCiGtk7dg2',
22
24
  'hash4eTHsuZakZiHg5vfQwFtBaEhhC9SXRYsZm4Br7k',
23
25
  'bonkABCQVasnhyVAvB2zYFSCRMGB6xKhpthKuCnsU5K',
24
26
  '6C41vb9AqJzmbWZ4zi6eCGJz3vSKrwjxfu8N77SRRtyr',
27
+ 'phnxHvd4YcmeyhwSJqigES2jJHU67MgUuQzVXNAVz4e',
28
+ 'BGSo18NXTWGtyNa5DBBP1ZCfUFRPWj6bECrPKakn8qN',
25
29
  ];
26
30
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solayer/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,gDAAgD;IACvD,OAAO,EAAE,sBAAsB;IAC/B,OAAO,EAAE,4BAA4B;IACrC,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,6CAA6C,CAC9C,CAAC;AAEF,kFAAkF;AACrE,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC/D,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC/D,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC/D,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEvB,QAAA,SAAS,GAAG;IACvB,6CAA6C;IAC7C,6CAA6C;IAC7C,6CAA6C;IAC7C,8CAA8C;CAC/C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solayer/constants.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG/B,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,gDAAgD;IACvD,OAAO,EAAE,sBAAsB;IAC/B,OAAO,EAAE,4BAA4B;IACrC,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEW,QAAA,SAAS,GAAG,IAAI,mBAAS,CACpC,6CAA6C,CAC9C,CAAC;AACW,QAAA,eAAe,GAAG,IAAI,mBAAS,CAC1C,6CAA6C,CAC9C,CAAC;AAEF,kFAAkF;AACrE,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC/D,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC/D,QAAA,cAAc,GAAG,6CAA6C,CAAC;AAC/D,QAAA,eAAe,GAAG,6CAA6C,CAAC;AAChE,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEvB,QAAA,SAAS,GAAG;IACvB,6CAA6C;IAC7C,6CAA6C;IAC7C,6CAA6C;IAC7C,8CAA8C;IAC9C,6CAA6C;IAC7C,6CAA6C;CAC9C,CAAC"}
@@ -7,7 +7,8 @@ exports.fetchers = exports.jobs = exports.platforms = void 0;
7
7
  const constants_1 = require("./constants");
8
8
  const poolsJob_1 = __importDefault(require("./poolsJob"));
9
9
  const delegateJob_1 = __importDefault(require("./delegateJob"));
10
+ const proofsFetcher_1 = __importDefault(require("./proofsFetcher"));
10
11
  exports.platforms = [constants_1.platform];
11
12
  exports.jobs = [poolsJob_1.default, delegateJob_1.default];
12
- exports.fetchers = [];
13
+ exports.fetchers = [proofsFetcher_1.default];
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solayer/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,0DAAkC;AAClC,gEAAwC;AAE3B,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,CAAC,kBAAQ,EAAE,qBAAW,CAAC,CAAC;AACtC,QAAA,QAAQ,GAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solayer/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,0DAAkC;AAClC,gEAAwC;AACxC,oEAA4C;AAE/B,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,CAAC,kBAAQ,EAAE,qBAAW,CAAC,CAAC;AACtC,QAAA,QAAQ,GAAc,CAAC,uBAAa,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fetcher } from '../../Fetcher';
2
+ declare const fetcher: Fetcher;
3
+ export default fetcher;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
13
+ const constants_1 = require("./constants");
14
+ const clients_1 = require("../../utils/clients");
15
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
16
+ const solana_1 = require("../../utils/solana");
17
+ const structs_1 = require("./structs");
18
+ const filters_1 = require("../../utils/solana/filters");
19
+ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
20
+ const client = (0, clients_1.getClientSolana)();
21
+ const accounts = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.proofStruct, constants_1.solayersUSDCPid, [
22
+ ...(0, filters_1.dataSizeFilter)(621),
23
+ {
24
+ memcmp: {
25
+ bytes: owner,
26
+ offset: 17,
27
+ },
28
+ },
29
+ ]);
30
+ if (!accounts)
31
+ return [];
32
+ const poolAccount = yield (0, solana_1.getParsedProgramAccounts)(client, structs_1.sUSDPoolStruct, constants_1.solayersUSDCPid, [...(0, filters_1.dataSizeFilter)(379)]);
33
+ const pool = poolAccount.at(0);
34
+ const registry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
35
+ const element = registry.addElementMultiple({
36
+ label: 'Deposit',
37
+ name: 'sUSD Restaking',
38
+ });
39
+ accounts.forEach((account) => {
40
+ const isDeposit = account.mint.toString() === solana_1.usdcSolanaMint;
41
+ // If batchId of the pool is greater than batchId from account and it's a deposit
42
+ // It means the deposits have all been processed and user receive it's sUSD in the wallet
43
+ if (pool &&
44
+ isDeposit &&
45
+ pool.currentDepositId.isGreaterThan(account.batchId))
46
+ return;
47
+ // If batchId of the pool is greater than batchId from account and it's a withdraw
48
+ // It means the user can claim it's USDC
49
+ const isClaimable = !!(pool &&
50
+ !isDeposit &&
51
+ pool.currentWithdrawId.isGreaterThan(account.batchId));
52
+ element.addAsset({
53
+ address: account.mint.toString(),
54
+ amount: account.amount,
55
+ attributes: {
56
+ isClaimable,
57
+ tags: [isDeposit ? 'Deposit' : 'Withdraw'],
58
+ },
59
+ });
60
+ });
61
+ return registry.getElements(cache);
62
+ });
63
+ const fetcher = {
64
+ id: `${constants_1.platformId}-proofs`,
65
+ networkId: portfolio_core_1.NetworkId.solana,
66
+ executor,
67
+ };
68
+ exports.default = fetcher;
69
+ //# sourceMappingURL=proofsFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proofsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/solayer/proofsFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAuD;AAGvD,2CAA0D;AAC1D,iDAAsD;AACtD,gFAA6E;AAC7E,+CAA8E;AAC9E,uCAAwD;AACxD,wDAA4D;AAE5D,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,qBAAW,EACX,2BAAe,EACf;QACE,GAAG,IAAA,wBAAc,EAAC,GAAG,CAAC;QACtB;YACE,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EAAE;aACX;SACF;KACF,CACF,CAAC;IACF,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,WAAW,GAAG,MAAM,IAAA,iCAAwB,EAChD,MAAM,EACN,wBAAc,EACd,2BAAe,EACf,CAAC,GAAG,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAC,CACzB,CAAC;IACF,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/B,MAAM,QAAQ,GAAG,IAAI,iCAAe,CAAC,0BAAS,CAAC,MAAM,EAAE,sBAAU,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,kBAAkB,CAAC;QAC1C,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,gBAAgB;KACvB,CAAC,CAAC;IACH,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,uBAAc,CAAC;QAE7D,iFAAiF;QACjF,yFAAyF;QACzF,IACE,IAAI;YACJ,SAAS;YACT,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YAEpD,OAAO;QAET,kFAAkF;QAClF,wCAAwC;QACxC,MAAM,WAAW,GAAG,CAAC,CAAC,CACpB,IAAI;YACJ,CAAC,SAAS;YACV,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CACtD,CAAC;QAEF,OAAO,CAAC,QAAQ,CAAC;YACf,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE;gBACV,WAAW;gBACX,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;aAC3C;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,sBAAU,SAAS;IAC1B,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}