@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.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +12 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +61 -25
- package/package.json +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @pioneer-platform/zapper-client@8.36.
|
|
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,
|
|
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
|
|
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 =
|
|
106
|
-
case
|
|
107
|
-
_a.trys.push([
|
|
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
|
|
155
|
+
case 13:
|
|
120
156
|
_a.sent();
|
|
121
|
-
log.info(tag, "Discord alert sent: ".concat(severity));
|
|
122
|
-
return [3 /*break*/,
|
|
123
|
-
case
|
|
124
|
-
|
|
125
|
-
log.error(tag, "Failed to send Discord alert:",
|
|
126
|
-
return [3 /*break*/,
|
|
127
|
-
case
|
|
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,
|
|
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
|
-
|
|
657
|
-
return [4 /*yield*/, handleZapperError(
|
|
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,
|
|
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
|
-
|
|
709
|
-
return [4 /*yield*/, handleZapperError(
|
|
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,
|
|
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
|
-
|
|
752
|
-
return [4 /*yield*/, handleZapperError(
|
|
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,
|
|
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
|
-
|
|
801
|
-
return [4 /*yield*/, handleZapperError(
|
|
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];
|