@across-protocol/sdk 4.3.122 → 4.3.123
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/dist/cjs/src/priceClient/priceClient.js +56 -26
- package/dist/cjs/src/priceClient/priceClient.js.map +1 -1
- package/dist/esm/src/priceClient/priceClient.js +57 -27
- package/dist/esm/src/priceClient/priceClient.js.map +1 -1
- package/dist/types/src/priceClient/priceClient.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/priceClient/priceClient.ts +19 -3
|
@@ -107,45 +107,75 @@ var PriceClient = (function () {
|
|
|
107
107
|
};
|
|
108
108
|
PriceClient.prototype.updatePrices = function (currency) {
|
|
109
109
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
110
|
-
var priceCache, skipped,
|
|
110
|
+
var priceCache, addrsToRequest, skipped, consecutiveZeroAddrs, _loop_1, this_1, _i, _a, priceFeed, state_1;
|
|
111
111
|
return tslib_1.__generator(this, function (_b) {
|
|
112
112
|
switch (_b.label) {
|
|
113
113
|
case 0:
|
|
114
114
|
priceCache = this.getPriceCache(currency);
|
|
115
|
-
skipped = [];
|
|
116
115
|
addrsToRequest = Object.entries(priceCache).map(function (entry) { return entry[1].address; });
|
|
116
|
+
skipped = addrsToRequest;
|
|
117
|
+
consecutiveZeroAddrs = new Set();
|
|
118
|
+
_loop_1 = function (priceFeed) {
|
|
119
|
+
var feedPricesResponse, zeroPriceAddrs, giveUpAddrs_1, err_1;
|
|
120
|
+
return tslib_1.__generator(this, function (_c) {
|
|
121
|
+
switch (_c.label) {
|
|
122
|
+
case 0:
|
|
123
|
+
if (addrsToRequest.length === 0)
|
|
124
|
+
return [2, "break"];
|
|
125
|
+
this_1.logger.debug({
|
|
126
|
+
at: "PriceClient#updatePrices",
|
|
127
|
+
message: "Looking up prices via ".concat(priceFeed.name, "."),
|
|
128
|
+
tokens: addrsToRequest,
|
|
129
|
+
});
|
|
130
|
+
_c.label = 1;
|
|
131
|
+
case 1:
|
|
132
|
+
_c.trys.push([1, 3, , 4]);
|
|
133
|
+
return [4, priceFeed.getPricesByAddress(addrsToRequest, currency)];
|
|
134
|
+
case 2:
|
|
135
|
+
feedPricesResponse = _c.sent();
|
|
136
|
+
skipped = this_1.updateCache(priceCache, feedPricesResponse, addrsToRequest);
|
|
137
|
+
zeroPriceAddrs = addrsToRequest.filter(function (addr) { return priceCache[addr.toLowerCase()].price === 0; });
|
|
138
|
+
giveUpAddrs_1 = zeroPriceAddrs.filter(function (addr) { return consecutiveZeroAddrs.has(addr); });
|
|
139
|
+
if (giveUpAddrs_1.length > 0) {
|
|
140
|
+
this_1.logger.debug({
|
|
141
|
+
at: "PriceClient#updatePrices",
|
|
142
|
+
message: "Giving up on addresses with price of 0 from 2 consecutive providers.",
|
|
143
|
+
tokens: giveUpAddrs_1,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
consecutiveZeroAddrs = new Set(zeroPriceAddrs);
|
|
147
|
+
addrsToRequest = Array.from(new Set(tslib_1.__spreadArray(tslib_1.__spreadArray([], skipped, true), zeroPriceAddrs.filter(function (addr) { return !giveUpAddrs_1.includes(addr); }), true)));
|
|
148
|
+
if (addrsToRequest.length === 0)
|
|
149
|
+
return [2, "break"];
|
|
150
|
+
return [3, 4];
|
|
151
|
+
case 3:
|
|
152
|
+
err_1 = _c.sent();
|
|
153
|
+
this_1.logger.debug({
|
|
154
|
+
at: "PriceClient#updatePrices",
|
|
155
|
+
message: "Price lookup against ".concat(priceFeed.name, " failed (").concat(err_1, ")."),
|
|
156
|
+
tokens: addrsToRequest,
|
|
157
|
+
});
|
|
158
|
+
return [3, 4];
|
|
159
|
+
case 4: return [2];
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
this_1 = this;
|
|
117
164
|
_i = 0, _a = this.priceFeeds;
|
|
118
165
|
_b.label = 1;
|
|
119
166
|
case 1:
|
|
120
|
-
if (!(_i < _a.length)) return [3,
|
|
167
|
+
if (!(_i < _a.length)) return [3, 4];
|
|
121
168
|
priceFeed = _a[_i];
|
|
122
|
-
|
|
123
|
-
at: "PriceClient#updatePrices",
|
|
124
|
-
message: "Looking up prices via ".concat(priceFeed.name, "."),
|
|
125
|
-
tokens: addrsToRequest,
|
|
126
|
-
});
|
|
127
|
-
_b.label = 2;
|
|
169
|
+
return [5, _loop_1(priceFeed)];
|
|
128
170
|
case 2:
|
|
129
|
-
_b.
|
|
130
|
-
|
|
171
|
+
state_1 = _b.sent();
|
|
172
|
+
if (state_1 === "break")
|
|
173
|
+
return [3, 4];
|
|
174
|
+
_b.label = 3;
|
|
131
175
|
case 3:
|
|
132
|
-
feedPricesResponse = _b.sent();
|
|
133
|
-
skipped = this.updateCache(priceCache, feedPricesResponse, addrsToRequest);
|
|
134
|
-
if (skipped.length === 0)
|
|
135
|
-
return [3, 6];
|
|
136
|
-
return [3, 5];
|
|
137
|
-
case 4:
|
|
138
|
-
err_1 = _b.sent();
|
|
139
|
-
this.logger.debug({
|
|
140
|
-
at: "PriceClient#updatePrices",
|
|
141
|
-
message: "Price lookup against ".concat(priceFeed.name, " failed (").concat(err_1, ")."),
|
|
142
|
-
tokens: addrsToRequest,
|
|
143
|
-
});
|
|
144
|
-
return [3, 5];
|
|
145
|
-
case 5:
|
|
146
176
|
_i++;
|
|
147
177
|
return [3, 1];
|
|
148
|
-
case
|
|
178
|
+
case 4:
|
|
149
179
|
if (skipped.length !== 0) {
|
|
150
180
|
this.logger.debug({
|
|
151
181
|
at: "PriceClient#updatePrices",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priceClient.js","sourceRoot":"","sources":["../../../../src/priceClient/priceClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"priceClient.js","sourceRoot":"","sources":["../../../../src/priceClient/priceClient.ts"],"names":[],"mappings":";;;AAwBA,sBAEC;;AA1BD,0DAA4B;AAG5B,uCAA4C;AAqB5C,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AAC/B,CAAC;AAUD;IAOE,qBACY,MAAc,EACf,UAA8B,EAC9B,cAAsB;QAAtB,+BAAA,EAAA,sBAAsB;QAFrB,WAAM,GAAN,MAAM,CAAQ;QACf,eAAU,GAAV,UAAU,CAAoB;QAC9B,mBAAc,GAAd,cAAc,CAAQ;QATjB,SAAI,GAAW,aAAa,CAAC;QACrC,iBAAY,GAAG,GAAG,CAAC;QACjB,WAAM,GAEZ,EAAE,CAAC;QAOL,IAAA,gBAAM,EAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;QAChD,IAAA,gBAAM,EAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAE1D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC,IAAI,yBAAc,CAAC,SAAS,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,sBAAI,oCAAW;aAAf;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;aAED,UAAgB,GAAW;YACzB,IAAA,gBAAM,EAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChB,EAAE,EAAE,yBAAyB;gBAC7B,OAAO,EAAE,kCAA2B,IAAI,CAAC,YAAY,iBAAO,GAAG,MAAG;aACnE,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC;;;OATA;IAWD,oCAAc,GAAd;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,SAA2B,IAAK,OAAA,SAAS,CAAC,IAAI,EAAd,CAAc,CAAC,CAAC;IAC9E,CAAC;IAEK,uCAAiB,GAAvB;oEAAwB,OAAe,EAAE,QAAgB;;YAAhB,yBAAA,EAAA,gBAAgB;;;4BACnC,WAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAA;;wBAAhE,WAAW,GAAG,SAAkD;wBACtE,WAAO,WAAW,CAAC,CAAC,CAAC,EAAC;;;;KACvB;IAKK,wCAAkB,GAAxB;oEAAyB,SAAmB,EAAE,QAAgB;;;YAAhB,yBAAA,EAAA,gBAAgB;;;;wBAC5D,IAAA,gBAAM,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,gCAAgC,CAAC,CAAC;wBAC/D,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBAG1C,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBACxB,MAAM,GAAkC,EAAE,CAAC;wBACjD,SAAS,CAAC,OAAO,CAAC,UAAC,OAAO;;4BACxB,IAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;4BAC3C,IAAM,UAAU,GAAG,MAAA,UAAU,CAAC,YAAY,CAAC,mCAAI,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC;4BACnF,UAAU,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;4BAEtC,IAAM,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC;4BACvC,IAAI,GAAG,GAAG,KAAI,CAAC,WAAW,EAAE,CAAC;gCAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;4BACxB,CAAC;wBACH,CAAC,CAAC,CAAC;6BAEC,CAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA,EAA9B,cAA8B;wBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;4BAChB,EAAE,EAAE,gCAAgC;4BACpC,OAAO,EAAE,UAAG,QAAQ,CAAC,WAAW,EAAE,gCAAsB,IAAI,CAAC,WAAW,SAAM;4BAC9E,MAAM,EAAE,MAAM;yBACf,CAAC,CAAC;wBACH,WAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAA;;wBAAjC,SAAiC,CAAC;;4BAGpC,WAAO,SAAS,CAAC,GAAG,CAAC,UAAC,OAAO;4BACrB,IAAA,KAAuB,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAtD,KAAK,WAAA,EAAE,SAAS,eAAsC,CAAC;4BAC/D,OAAO,EAAE,OAAO,SAAA,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAE,CAAC;wBACvC,CAAC,CAAC,EAAC;;;;KACJ;IAED,iCAAW,GAAX,UAAY,QAAgB;QAC1B,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAC,KAAiB,IAAK,OAAA,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EAArB,CAAqB,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,yBAAyB,EAAE,OAAO,EAAE,kBAAW,QAAQ,YAAS,EAAE,CAAC,CAAC;IAC9F,CAAC;IAES,mCAAa,GAAvB,UAAwB,QAAgB;QACtC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEa,kCAAY,GAA1B,UAA2B,QAAgB;;;;;;wBACnC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBAC5C,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,UAAC,KAA2B,IAAK,OAAA,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAhB,CAAgB,CAAC,CAAC;wBACnG,OAAO,GAAa,cAAc,CAAC;wBACnC,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;4CAElC,SAAS;;;;;wCAClB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;gEAAQ;wCAEvC,OAAK,MAAM,CAAC,KAAK,CAAC;4CAChB,EAAE,EAAE,0BAA0B;4CAC9B,OAAO,EAAE,gCAAyB,SAAS,CAAC,IAAI,MAAG;4CACnD,MAAM,EAAE,cAAc;yCACvB,CAAC,CAAC;;;;wCAE0B,WAAM,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAA;;wCAAjF,kBAAkB,GAAG,SAA4D;wCACvF,OAAO,GAAG,OAAK,WAAW,CAAC,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;wCACrE,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,EAA1C,CAA0C,CAAC,CAAC;wCAC7F,gBAAc,cAAc,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAA9B,CAA8B,CAAC,CAAC;wCACpF,IAAI,aAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4CAC3B,OAAK,MAAM,CAAC,KAAK,CAAC;gDAChB,EAAE,EAAE,0BAA0B;gDAC9B,OAAO,EAAE,sEAAsE;gDAC/E,MAAM,EAAE,aAAW;6CACpB,CAAC,CAAC;wCACL,CAAC;wCACD,oBAAoB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;wCAC/C,cAAc,GAAG,KAAK,CAAC,IAAI,CACzB,IAAI,GAAG,iDAAK,OAAO,SAAK,cAAc,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,aAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,QAAE,CACvF,CAAC;wCACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;gEAAQ;;;;wCAEvC,OAAK,MAAM,CAAC,KAAK,CAAC;4CAChB,EAAE,EAAE,0BAA0B;4CAC9B,OAAO,EAAE,+BAAwB,SAAS,CAAC,IAAI,sBAAY,KAAG,OAAI;4CAClE,MAAM,EAAE,cAAc;yCACvB,CAAC,CAAC;;;;;;;8BA9BgC,EAAf,KAAA,IAAI,CAAC,UAAU;;;6BAAf,CAAA,cAAe,CAAA;wBAA5B,SAAS;2CAAT,SAAS;;;;;;;wBAAI,IAAe,CAAA;;;wBAmCvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gCAChB,EAAE,EAAE,0BAA0B;gCAC9B,OAAO,EAAE,sCAAsC;gCAC/C,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE;gCACjC,MAAM,EAAE,OAAO;6BAChB,CAAC,CAAC;4BACH,MAAM,IAAI,KAAK,CAAC,uDAAgD,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC,CAAC;wBACvG,CAAC;;;;;KACF;IAEO,iCAAW,GAAnB,UAAoB,UAAsB,EAAE,MAAoB,EAAE,QAAkB;QAApF,iBAmCC;;QAlCC,IAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,IAAM,OAAO,GAAgC,EAAE,CAAC;QAChD,IAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAE9B,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO;YACvB,IAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACnC,IAAM,UAAU,GAA2B,MAAM,CAAC,IAAI,CAAC,UAAC,KAAK,YAAK,OAAA,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,WAAW,EAAE,MAAK,IAAI,CAAA,EAAA,CAAC,CAAC;YAE1G,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,sCAAsC,CAAC;YAC5D,CAAC;iBAAM,IAAI,UAAU,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;gBACtC,OAAO,CAAC,OAAO,CAAC,GAAG,sDAA+C,UAAU,CAAC,SAAS,OAAI,CAAC;YAC7F,CAAC;iBAAM,IAAI,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBACtD,IAAA,KAAK,GAAgB,UAAU,MAA1B,EAAE,SAAS,GAAK,UAAU,UAAf,CAAgB;gBAExC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,UAAU,CAAC,SAAS,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC/D,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAChB,EAAE,EAAE,yBAAyB;oBAC7B,OAAO,EAAE,2CAAoC,OAAO,MAAG;oBACvD,KAAK,EAAE,UAAU;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAChB,EAAE,EAAE,yBAAyB;YAC7B,OAAO,EAAE,kBAAW,MAAA,OAAO,CAAC,MAAM,mCAAI,CAAC,gCAAsB,MAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,mCAAI,CAAC,MAAG;YAChG,OAAO,SAAA;YACP,OAAO,SAAA;SACR,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACH,kBAAC;AAAD,CAAC,AAjLD,IAiLC;AAjLY,kCAAW"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __awaiter, __generator } from "tslib";
|
|
1
|
+
import { __awaiter, __generator, __spreadArray } from "tslib";
|
|
2
2
|
import assert from "assert";
|
|
3
3
|
import { defaultAdapter } from "./adapters";
|
|
4
4
|
export function msToS(ms) {
|
|
@@ -114,45 +114,75 @@ var PriceClient = /** @class */ (function () {
|
|
|
114
114
|
};
|
|
115
115
|
PriceClient.prototype.updatePrices = function (currency) {
|
|
116
116
|
return __awaiter(this, void 0, void 0, function () {
|
|
117
|
-
var priceCache, skipped,
|
|
117
|
+
var priceCache, addrsToRequest, skipped, consecutiveZeroAddrs, _loop_1, this_1, _i, _a, priceFeed, state_1;
|
|
118
118
|
return __generator(this, function (_b) {
|
|
119
119
|
switch (_b.label) {
|
|
120
120
|
case 0:
|
|
121
121
|
priceCache = this.getPriceCache(currency);
|
|
122
|
-
skipped = [];
|
|
123
122
|
addrsToRequest = Object.entries(priceCache).map(function (entry) { return entry[1].address; });
|
|
123
|
+
skipped = addrsToRequest;
|
|
124
|
+
consecutiveZeroAddrs = new Set();
|
|
125
|
+
_loop_1 = function (priceFeed) {
|
|
126
|
+
var feedPricesResponse, zeroPriceAddrs, giveUpAddrs_1, err_1;
|
|
127
|
+
return __generator(this, function (_c) {
|
|
128
|
+
switch (_c.label) {
|
|
129
|
+
case 0:
|
|
130
|
+
if (addrsToRequest.length === 0)
|
|
131
|
+
return [2 /*return*/, "break"];
|
|
132
|
+
this_1.logger.debug({
|
|
133
|
+
at: "PriceClient#updatePrices",
|
|
134
|
+
message: "Looking up prices via ".concat(priceFeed.name, "."),
|
|
135
|
+
tokens: addrsToRequest,
|
|
136
|
+
});
|
|
137
|
+
_c.label = 1;
|
|
138
|
+
case 1:
|
|
139
|
+
_c.trys.push([1, 3, , 4]);
|
|
140
|
+
return [4 /*yield*/, priceFeed.getPricesByAddress(addrsToRequest, currency)];
|
|
141
|
+
case 2:
|
|
142
|
+
feedPricesResponse = _c.sent();
|
|
143
|
+
skipped = this_1.updateCache(priceCache, feedPricesResponse, addrsToRequest);
|
|
144
|
+
zeroPriceAddrs = addrsToRequest.filter(function (addr) { return priceCache[addr.toLowerCase()].price === 0; });
|
|
145
|
+
giveUpAddrs_1 = zeroPriceAddrs.filter(function (addr) { return consecutiveZeroAddrs.has(addr); });
|
|
146
|
+
if (giveUpAddrs_1.length > 0) {
|
|
147
|
+
this_1.logger.debug({
|
|
148
|
+
at: "PriceClient#updatePrices",
|
|
149
|
+
message: "Giving up on addresses with price of 0 from 2 consecutive providers.",
|
|
150
|
+
tokens: giveUpAddrs_1,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
consecutiveZeroAddrs = new Set(zeroPriceAddrs);
|
|
154
|
+
addrsToRequest = Array.from(new Set(__spreadArray(__spreadArray([], skipped, true), zeroPriceAddrs.filter(function (addr) { return !giveUpAddrs_1.includes(addr); }), true)));
|
|
155
|
+
if (addrsToRequest.length === 0)
|
|
156
|
+
return [2 /*return*/, "break"];
|
|
157
|
+
return [3 /*break*/, 4];
|
|
158
|
+
case 3:
|
|
159
|
+
err_1 = _c.sent();
|
|
160
|
+
this_1.logger.debug({
|
|
161
|
+
at: "PriceClient#updatePrices",
|
|
162
|
+
message: "Price lookup against ".concat(priceFeed.name, " failed (").concat(err_1, ")."),
|
|
163
|
+
tokens: addrsToRequest,
|
|
164
|
+
});
|
|
165
|
+
return [3 /*break*/, 4];
|
|
166
|
+
case 4: return [2 /*return*/];
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
};
|
|
170
|
+
this_1 = this;
|
|
124
171
|
_i = 0, _a = this.priceFeeds;
|
|
125
172
|
_b.label = 1;
|
|
126
173
|
case 1:
|
|
127
|
-
if (!(_i < _a.length)) return [3 /*break*/,
|
|
174
|
+
if (!(_i < _a.length)) return [3 /*break*/, 4];
|
|
128
175
|
priceFeed = _a[_i];
|
|
129
|
-
|
|
130
|
-
at: "PriceClient#updatePrices",
|
|
131
|
-
message: "Looking up prices via ".concat(priceFeed.name, "."),
|
|
132
|
-
tokens: addrsToRequest,
|
|
133
|
-
});
|
|
134
|
-
_b.label = 2;
|
|
176
|
+
return [5 /*yield**/, _loop_1(priceFeed)];
|
|
135
177
|
case 2:
|
|
136
|
-
_b.
|
|
137
|
-
|
|
178
|
+
state_1 = _b.sent();
|
|
179
|
+
if (state_1 === "break")
|
|
180
|
+
return [3 /*break*/, 4];
|
|
181
|
+
_b.label = 3;
|
|
138
182
|
case 3:
|
|
139
|
-
feedPricesResponse = _b.sent();
|
|
140
|
-
skipped = this.updateCache(priceCache, feedPricesResponse, addrsToRequest);
|
|
141
|
-
if (skipped.length === 0)
|
|
142
|
-
return [3 /*break*/, 6]; // All done
|
|
143
|
-
return [3 /*break*/, 5];
|
|
144
|
-
case 4:
|
|
145
|
-
err_1 = _b.sent();
|
|
146
|
-
this.logger.debug({
|
|
147
|
-
at: "PriceClient#updatePrices",
|
|
148
|
-
message: "Price lookup against ".concat(priceFeed.name, " failed (").concat(err_1, ")."),
|
|
149
|
-
tokens: addrsToRequest,
|
|
150
|
-
});
|
|
151
|
-
return [3 /*break*/, 5];
|
|
152
|
-
case 5:
|
|
153
183
|
_i++;
|
|
154
184
|
return [3 /*break*/, 1];
|
|
155
|
-
case
|
|
185
|
+
case 4:
|
|
156
186
|
if (skipped.length !== 0) {
|
|
157
187
|
this.logger.debug({
|
|
158
188
|
at: "PriceClient#updatePrices",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priceClient.js","sourceRoot":"","sources":["../../../../src/priceClient/priceClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"priceClient.js","sourceRoot":"","sources":["../../../../src/priceClient/priceClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priceClient.d.ts","sourceRoot":"","sources":["../../../../src/priceClient/priceClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,MAAM,MAAM,UAAU,GAAG,cAAc,CAAC;AAGxC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1E,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CAClF;AAOD,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;CAC/B,CAAC;AAEF,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAExC;AAUD,qBAAa,WAAY,YAAW,gBAAgB;IAQhD,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE;IACvC,QAAQ,CAAC,cAAc;IATzB,SAAgB,IAAI,EAAE,MAAM,CAAiB;IAC7C,OAAO,CAAC,YAAY,CAAO;IAC3B,SAAS,CAAC,MAAM,EAAE;QAChB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC;KAChC,CAAM;gBAGK,MAAM,EAAE,MAAM,EACf,UAAU,EAAE,gBAAgB,EAAE,EAC9B,cAAc,UAAQ;IAUjC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,EAO1B;IAED,cAAc,IAAI,MAAM,EAAE;IAIpB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAQzE,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,SAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAiCtF,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMnC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;YAKvC,YAAY;
|
|
1
|
+
{"version":3,"file":"priceClient.d.ts","sourceRoot":"","sources":["../../../../src/priceClient/priceClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,MAAM,MAAM,UAAU,GAAG,cAAc,CAAC;AAGxC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1E,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CAClF;AAOD,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;CAC/B,CAAC;AAEF,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAExC;AAUD,qBAAa,WAAY,YAAW,gBAAgB;IAQhD,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE;IACvC,QAAQ,CAAC,cAAc;IATzB,SAAgB,IAAI,EAAE,MAAM,CAAiB;IAC7C,OAAO,CAAC,YAAY,CAAO;IAC3B,SAAS,CAAC,MAAM,EAAE;QAChB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC;KAChC,CAAM;gBAGK,MAAM,EAAE,MAAM,EACf,UAAU,EAAE,gBAAgB,EAAE,EAC9B,cAAc,UAAQ;IAUjC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,EAO1B;IAED,cAAc,IAAI,MAAM,EAAE;IAIpB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAQzE,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,SAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAiCtF,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMnC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;YAKvC,YAAY;IAoD1B,OAAO,CAAC,WAAW;CAoCpB"}
|
package/package.json
CHANGED
|
@@ -125,10 +125,13 @@ export class PriceClient implements PriceFeedAdapter {
|
|
|
125
125
|
|
|
126
126
|
private async updatePrices(currency: string): Promise<void> {
|
|
127
127
|
const priceCache = this.getPriceCache(currency);
|
|
128
|
-
let
|
|
128
|
+
let addrsToRequest = Object.entries(priceCache).map((entry: [string, TokenPrice]) => entry[1].address);
|
|
129
|
+
let skipped: string[] = addrsToRequest;
|
|
130
|
+
let consecutiveZeroAddrs = new Set<string>();
|
|
129
131
|
|
|
130
|
-
const addrsToRequest = Object.entries(priceCache).map((entry: [string, TokenPrice]) => entry[1].address);
|
|
131
132
|
for (const priceFeed of this.priceFeeds) {
|
|
133
|
+
if (addrsToRequest.length === 0) break;
|
|
134
|
+
|
|
132
135
|
this.logger.debug({
|
|
133
136
|
at: "PriceClient#updatePrices",
|
|
134
137
|
message: `Looking up prices via ${priceFeed.name}.`,
|
|
@@ -137,7 +140,20 @@ export class PriceClient implements PriceFeedAdapter {
|
|
|
137
140
|
try {
|
|
138
141
|
const feedPricesResponse = await priceFeed.getPricesByAddress(addrsToRequest, currency);
|
|
139
142
|
skipped = this.updateCache(priceCache, feedPricesResponse, addrsToRequest);
|
|
140
|
-
|
|
143
|
+
const zeroPriceAddrs = addrsToRequest.filter((addr) => priceCache[addr.toLowerCase()].price === 0);
|
|
144
|
+
const giveUpAddrs = zeroPriceAddrs.filter((addr) => consecutiveZeroAddrs.has(addr));
|
|
145
|
+
if (giveUpAddrs.length > 0) {
|
|
146
|
+
this.logger.debug({
|
|
147
|
+
at: "PriceClient#updatePrices",
|
|
148
|
+
message: "Giving up on addresses with price of 0 from 2 consecutive providers.",
|
|
149
|
+
tokens: giveUpAddrs,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
consecutiveZeroAddrs = new Set(zeroPriceAddrs);
|
|
153
|
+
addrsToRequest = Array.from(
|
|
154
|
+
new Set([...skipped, ...zeroPriceAddrs.filter((addr) => !giveUpAddrs.includes(addr))])
|
|
155
|
+
);
|
|
156
|
+
if (addrsToRequest.length === 0) break;
|
|
141
157
|
} catch (err) {
|
|
142
158
|
this.logger.debug({
|
|
143
159
|
at: "PriceClient#updatePrices",
|