@pioneer-platform/zapper-client 8.36.5 → 8.36.7

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.
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > @pioneer-platform/zapper-client@8.36.5 build /Users/highlander/WebstormProjects/keepkey-stack/projects/pioneer/modules/intergrations/zapper
3
+ > @pioneer-platform/zapper-client@8.36.7 build /Users/highlander/WebstormProjects/keepkey-stack/projects/pioneer/modules/intergrations/zapper
4
4
  > tsc -p .
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @pioneer-platform/zapper-client
2
2
 
3
+ ## 8.36.7
4
+
5
+ ### Patch Changes
6
+
7
+ - fix: watchtower polling missing dual Redis write causing block heights to fall back to default
8
+
9
+ ## 8.36.6
10
+
11
+ ### Patch Changes
12
+
13
+ - fix: watchtower polling missing dual Redis write causing block heights to fall back to default
14
+
3
15
  ## 8.36.5
4
16
 
5
17
  ### Patch Changes
package/lib/index.d.ts CHANGED
@@ -19,6 +19,7 @@ declare class ZapperAPIError extends Error {
19
19
  }
20
20
  /**
21
21
  * Send Discord alert for critical Zapper issues
22
+ * Uses centralized discordNotifier (via global) when available, falls back to direct webhook
22
23
  */
23
24
  declare const sendDiscordAlert: (message: string, severity: "error" | "warning" | "critical") => Promise<void>;
24
25
  /**
package/lib/index.js CHANGED
@@ -85,16 +85,52 @@ var ZapperAPIError = /** @class */ (function (_super) {
85
85
  }(Error));
86
86
  /**
87
87
  * Send Discord alert for critical Zapper issues
88
+ * Uses centralized discordNotifier (via global) when available, falls back to direct webhook
88
89
  */
89
90
  var sendDiscordAlert = function (message, severity) {
90
91
  return __awaiter(this, void 0, void 0, function () {
91
- var tag, colors, e_1;
92
+ var tag, notifier, e_1, colors, e_2;
92
93
  return __generator(this, function (_a) {
93
94
  switch (_a.label) {
94
95
  case 0:
95
96
  tag = TAG + " | sendDiscordAlert | ";
97
+ notifier = global.discordNotifier;
98
+ if (!(notifier && notifier.isEnabled && notifier.isEnabled())) return [3 /*break*/, 11];
99
+ _a.label = 1;
100
+ case 1:
101
+ _a.trys.push([1, 10, , 11]);
102
+ if (!(message.includes('Credits Exhausted') || message.includes('credits exhausted'))) return [3 /*break*/, 3];
103
+ return [4 /*yield*/, notifier.sendZapperCreditsAlert('getPortfolio', message)];
104
+ case 2:
105
+ _a.sent();
106
+ return [3 /*break*/, 9];
107
+ case 3:
108
+ if (!(message.includes('Rate Limited') || message.includes('rate limit'))) return [3 /*break*/, 5];
109
+ return [4 /*yield*/, notifier.sendZapperRateLimitAlert('getPortfolio', message)];
110
+ case 4:
111
+ _a.sent();
112
+ return [3 /*break*/, 9];
113
+ case 5:
114
+ if (!(message.includes('Authentication') || message.includes('authentication'))) return [3 /*break*/, 7];
115
+ return [4 /*yield*/, notifier.sendZapperAuthAlert('getPortfolio', message)];
116
+ case 6:
117
+ _a.sent();
118
+ return [3 /*break*/, 9];
119
+ case 7: return [4 /*yield*/, notifier.sendError(message, { source: 'Zapper', severity: severity })];
120
+ case 8:
121
+ _a.sent();
122
+ _a.label = 9;
123
+ case 9:
124
+ log.info(tag, "Discord alert sent via centralized notifier: ".concat(severity));
125
+ return [2 /*return*/];
126
+ case 10:
127
+ e_1 = _a.sent();
128
+ log.warn(tag, "Centralized notifier failed, trying webhook fallback:", e_1);
129
+ return [3 /*break*/, 11];
130
+ case 11:
131
+ // Fallback: direct webhook POST
96
132
  if (!DISCORD_WEBHOOK_URL) {
97
- log.warn(tag, "Discord webhook not configured, skipping alert");
133
+ log.warn(tag, "No Discord delivery available (no notifier, no webhook URL)");
98
134
  return [2 /*return*/];
99
135
  }
100
136
  colors = {
@@ -102,9 +138,9 @@ var sendDiscordAlert = function (message, severity) {
102
138
  warning: 16776960, // Yellow
103
139
  critical: 10038562 // Dark red
104
140
  };
105
- _a.label = 1;
106
- case 1:
107
- _a.trys.push([1, 3, , 4]);
141
+ _a.label = 12;
142
+ case 12:
143
+ _a.trys.push([12, 14, , 15]);
108
144
  return [4 /*yield*/, Axios.post(DISCORD_WEBHOOK_URL, {
109
145
  embeds: [{
110
146
  title: "\uD83D\uDEA8 Zapper API ".concat(severity.toUpperCase()),
@@ -116,15 +152,15 @@ var sendDiscordAlert = function (message, severity) {
116
152
  }
117
153
  }]
118
154
  })];
119
- case 2:
155
+ case 13:
120
156
  _a.sent();
121
- log.info(tag, "Discord alert sent: ".concat(severity));
122
- return [3 /*break*/, 4];
123
- case 3:
124
- e_1 = _a.sent();
125
- log.error(tag, "Failed to send Discord alert:", e_1);
126
- return [3 /*break*/, 4];
127
- case 4: return [2 /*return*/];
157
+ log.info(tag, "Discord alert sent via webhook: ".concat(severity));
158
+ return [3 /*break*/, 15];
159
+ case 14:
160
+ e_2 = _a.sent();
161
+ log.error(tag, "Failed to send Discord alert:", e_2);
162
+ return [3 /*break*/, 15];
163
+ case 15: return [2 /*return*/];
128
164
  }
129
165
  });
130
166
  });
@@ -356,7 +392,7 @@ module.exports = {
356
392
  };
357
393
  var get_portfolio = function (address) {
358
394
  return __awaiter(this, void 0, void 0, function () {
359
- var tag, output_1, appsGraphqlQuery, appsResponse, appsData, totalBalanceUSDApp, apps, _i, apps_1, appEdge, appNode, networkName, networkId, positions, _a, positions_1, posEdge, position, balance, tokenForCaip, tokens, _b, tokens_1, tokenWithMeta, token, balance, tokenForCaip, graphqlQuery, tokensResponse, totalBalanceUsdTokens_1, tokenData, tokens, nftGraphqlQuery, nftResponse, nftData, nftUsdNetWorth, allTokens, totalNetWorth, totalNetWorthFormatted, e_2;
395
+ var tag, output_1, appsGraphqlQuery, appsResponse, appsData, totalBalanceUSDApp, apps, _i, apps_1, appEdge, appNode, networkName, networkId, positions, _a, positions_1, posEdge, position, balance, tokenForCaip, tokens, _b, tokens_1, tokenWithMeta, token, balance, tokenForCaip, graphqlQuery, tokensResponse, totalBalanceUsdTokens_1, tokenData, tokens, nftGraphqlQuery, nftResponse, nftData, nftUsdNetWorth, allTokens, totalNetWorth, totalNetWorthFormatted, e_3;
360
396
  var _c;
361
397
  var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14;
362
398
  return __generator(this, function (_15) {
@@ -653,8 +689,8 @@ var get_portfolio = function (address) {
653
689
  }
654
690
  return [2 /*return*/, output_1];
655
691
  case 11:
656
- e_2 = _15.sent();
657
- return [4 /*yield*/, handleZapperError(e_2, 'getPortfolio')];
692
+ e_3 = _15.sent();
693
+ return [4 /*yield*/, handleZapperError(e_3, 'getPortfolio')];
658
694
  case 12:
659
695
  _15.sent();
660
696
  return [3 /*break*/, 13];
@@ -665,7 +701,7 @@ var get_portfolio = function (address) {
665
701
  };
666
702
  var get_total_networth = function (address) {
667
703
  return __awaiter(this, void 0, void 0, function () {
668
- var tag, graphqlQuery, portfolioResponse, portfolioData, totalBalanceUsdTokens, totalBalanceUSDApp, nftUsdNetWorth, totalNetWorth, e_3;
704
+ var tag, graphqlQuery, portfolioResponse, portfolioData, totalBalanceUsdTokens, totalBalanceUSDApp, nftUsdNetWorth, totalNetWorth, e_4;
669
705
  var _a, _b, _c, _d, _e, _f;
670
706
  return __generator(this, function (_g) {
671
707
  switch (_g.label) {
@@ -705,8 +741,8 @@ var get_total_networth = function (address) {
705
741
  log.debug(tag, "totalNetWorth: ", totalNetWorth);
706
742
  return [2 /*return*/, totalNetWorth];
707
743
  case 5:
708
- e_3 = _g.sent();
709
- return [4 /*yield*/, handleZapperError(e_3, 'getTotalNetworth')];
744
+ e_4 = _g.sent();
745
+ return [4 /*yield*/, handleZapperError(e_4, 'getTotalNetworth')];
710
746
  case 6:
711
747
  _g.sent();
712
748
  return [3 /*break*/, 7];
@@ -717,7 +753,7 @@ var get_total_networth = function (address) {
717
753
  };
718
754
  var get_tokens = function (address) {
719
755
  return __awaiter(this, void 0, void 0, function () {
720
- var tag, graphqlQuery, appsResponse, e_4;
756
+ var tag, graphqlQuery, appsResponse, e_5;
721
757
  var _a, _b, _c, _d, _e, _f;
722
758
  return __generator(this, function (_g) {
723
759
  switch (_g.label) {
@@ -748,8 +784,8 @@ var get_tokens = function (address) {
748
784
  return [2 /*return*/];
749
785
  case 4: return [2 /*return*/, ((_f = (_e = (_d = (_c = (_b = appsResponse.data) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.portfolioV2) === null || _d === void 0 ? void 0 : _d.appBalances) === null || _e === void 0 ? void 0 : _e.byApp) === null || _f === void 0 ? void 0 : _f.edges) || []];
750
786
  case 5:
751
- e_4 = _g.sent();
752
- return [4 /*yield*/, handleZapperError(e_4, 'getTokens')];
787
+ e_5 = _g.sent();
788
+ return [4 /*yield*/, handleZapperError(e_5, 'getTokens')];
753
789
  case 6:
754
790
  _g.sent();
755
791
  return [3 /*break*/, 7];
@@ -760,7 +796,7 @@ var get_tokens = function (address) {
760
796
  };
761
797
  var get_nfts = function (address) {
762
798
  return __awaiter(this, void 0, void 0, function () {
763
- var tag, graphqlQuery, result, nftData, tokens, e_5;
799
+ var tag, graphqlQuery, result, nftData, tokens, e_6;
764
800
  var _a, _b, _c, _d, _e, _f;
765
801
  return __generator(this, function (_g) {
766
802
  switch (_g.label) {
@@ -797,8 +833,8 @@ var get_nfts = function (address) {
797
833
  totalBalanceUSD: (nftData === null || nftData === void 0 ? void 0 : nftData.totalBalanceUSD) || 0
798
834
  }];
799
835
  case 5:
800
- e_5 = _g.sent();
801
- return [4 /*yield*/, handleZapperError(e_5, 'getNFTs')];
836
+ e_6 = _g.sent();
837
+ return [4 /*yield*/, handleZapperError(e_6, 'getNFTs')];
802
838
  case 6:
803
839
  _g.sent();
804
840
  return [3 /*break*/, 7];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pioneer-platform/zapper-client",
3
- "version": "8.36.5",
3
+ "version": "8.36.7",
4
4
  "main": "./lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "dependencies": {