@across-protocol/sdk 4.1.43 → 4.1.45-beta.0

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 (184) hide show
  1. package/dist/cjs/addressAggregator/adapters/abstract.d.ts +15 -0
  2. package/dist/cjs/addressAggregator/adapters/abstract.js +83 -0
  3. package/dist/cjs/addressAggregator/adapters/abstract.js.map +1 -0
  4. package/dist/cjs/addressAggregator/adapters/bybit.d.ts +5 -9
  5. package/dist/cjs/addressAggregator/adapters/bybit.js +11 -12
  6. package/dist/cjs/addressAggregator/adapters/bybit.js.map +1 -1
  7. package/dist/cjs/addressAggregator/adapters/env.d.ts +5 -7
  8. package/dist/cjs/addressAggregator/adapters/env.js +12 -11
  9. package/dist/cjs/addressAggregator/adapters/env.js.map +1 -1
  10. package/dist/cjs/addressAggregator/adapters/file.d.ts +5 -7
  11. package/dist/cjs/addressAggregator/adapters/file.js +13 -12
  12. package/dist/cjs/addressAggregator/adapters/file.js.map +1 -1
  13. package/dist/cjs/addressAggregator/adapters/risklabs.d.ts +5 -9
  14. package/dist/cjs/addressAggregator/adapters/risklabs.js +18 -14
  15. package/dist/cjs/addressAggregator/adapters/risklabs.js.map +1 -1
  16. package/dist/cjs/addressAggregator/index.js +2 -2
  17. package/dist/cjs/addressAggregator/index.js.map +1 -1
  18. package/dist/cjs/addressAggregator/types.d.ts +9 -1
  19. package/dist/cjs/addressAggregator/types.js.map +1 -1
  20. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +13 -6
  21. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  22. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +9 -0
  23. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  24. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.d.ts +7 -6
  25. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +46 -35
  26. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  27. package/dist/cjs/clients/HubPoolClient.d.ts +2 -0
  28. package/dist/cjs/clients/HubPoolClient.js +27 -10
  29. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  30. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +1 -0
  31. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +16 -3
  32. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  33. package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +2 -0
  34. package/dist/cjs/clients/mocks/MockHubPoolClient.js +18 -0
  35. package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
  36. package/dist/cjs/constants.d.ts +1 -0
  37. package/dist/cjs/constants.js +13 -1
  38. package/dist/cjs/constants.js.map +1 -1
  39. package/dist/cjs/svm/eventsClient.js +5 -12
  40. package/dist/cjs/svm/eventsClient.js.map +1 -1
  41. package/dist/cjs/svm/index.d.ts +2 -0
  42. package/dist/cjs/svm/index.js +3 -0
  43. package/dist/cjs/svm/index.js.map +1 -1
  44. package/dist/cjs/svm/utils/events.d.ts +6 -1
  45. package/dist/cjs/svm/utils/events.js +13 -4
  46. package/dist/cjs/svm/utils/events.js.map +1 -1
  47. package/dist/cjs/svm/utils/index.d.ts +1 -0
  48. package/dist/cjs/svm/utils/index.js +5 -0
  49. package/dist/cjs/svm/utils/index.js.map +1 -0
  50. package/dist/cjs/utils/DepositUtils.d.ts +1 -0
  51. package/dist/cjs/utils/DepositUtils.js +5 -1
  52. package/dist/cjs/utils/DepositUtils.js.map +1 -1
  53. package/dist/cjs/utils/TokenUtils.d.ts +1 -0
  54. package/dist/cjs/utils/TokenUtils.js +5 -1
  55. package/dist/cjs/utils/TokenUtils.js.map +1 -1
  56. package/dist/cjs/utils/common.d.ts +2 -0
  57. package/dist/cjs/utils/common.js +3 -1
  58. package/dist/cjs/utils/common.js.map +1 -1
  59. package/dist/esm/addressAggregator/adapters/abstract.d.ts +15 -0
  60. package/dist/esm/addressAggregator/adapters/abstract.js +80 -0
  61. package/dist/esm/addressAggregator/adapters/abstract.js.map +1 -0
  62. package/dist/esm/addressAggregator/adapters/bybit.d.ts +5 -9
  63. package/dist/esm/addressAggregator/adapters/bybit.js +12 -13
  64. package/dist/esm/addressAggregator/adapters/bybit.js.map +1 -1
  65. package/dist/esm/addressAggregator/adapters/env.d.ts +5 -7
  66. package/dist/esm/addressAggregator/adapters/env.js +12 -11
  67. package/dist/esm/addressAggregator/adapters/env.js.map +1 -1
  68. package/dist/esm/addressAggregator/adapters/file.d.ts +5 -7
  69. package/dist/esm/addressAggregator/adapters/file.js +14 -13
  70. package/dist/esm/addressAggregator/adapters/file.js.map +1 -1
  71. package/dist/esm/addressAggregator/adapters/risklabs.d.ts +5 -9
  72. package/dist/esm/addressAggregator/adapters/risklabs.js +19 -15
  73. package/dist/esm/addressAggregator/adapters/risklabs.js.map +1 -1
  74. package/dist/esm/addressAggregator/index.js +2 -2
  75. package/dist/esm/addressAggregator/index.js.map +1 -1
  76. package/dist/esm/addressAggregator/types.d.ts +9 -1
  77. package/dist/esm/addressAggregator/types.js.map +1 -1
  78. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +14 -7
  79. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  80. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +15 -0
  81. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  82. package/dist/esm/clients/BundleDataClient/utils/FillUtils.d.ts +28 -6
  83. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +82 -49
  84. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  85. package/dist/esm/clients/HubPoolClient.d.ts +2 -0
  86. package/dist/esm/clients/HubPoolClient.js +31 -13
  87. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  88. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +1 -0
  89. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +24 -11
  90. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  91. package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +2 -0
  92. package/dist/esm/clients/mocks/MockHubPoolClient.js +18 -0
  93. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
  94. package/dist/esm/constants.d.ts +1 -0
  95. package/dist/esm/constants.js +12 -0
  96. package/dist/esm/constants.js.map +1 -1
  97. package/dist/esm/svm/eventsClient.js +6 -13
  98. package/dist/esm/svm/eventsClient.js.map +1 -1
  99. package/dist/esm/svm/index.d.ts +2 -0
  100. package/dist/esm/svm/index.js +3 -0
  101. package/dist/esm/svm/index.js.map +1 -1
  102. package/dist/esm/svm/utils/events.d.ts +9 -1
  103. package/dist/esm/svm/utils/events.js +15 -3
  104. package/dist/esm/svm/utils/events.js.map +1 -1
  105. package/dist/esm/svm/utils/index.d.ts +1 -0
  106. package/dist/esm/svm/utils/index.js +2 -0
  107. package/dist/esm/svm/utils/index.js.map +1 -0
  108. package/dist/esm/utils/DepositUtils.d.ts +1 -0
  109. package/dist/esm/utils/DepositUtils.js +5 -1
  110. package/dist/esm/utils/DepositUtils.js.map +1 -1
  111. package/dist/esm/utils/TokenUtils.d.ts +1 -0
  112. package/dist/esm/utils/TokenUtils.js +3 -0
  113. package/dist/esm/utils/TokenUtils.js.map +1 -1
  114. package/dist/esm/utils/common.d.ts +2 -0
  115. package/dist/esm/utils/common.js +2 -0
  116. package/dist/esm/utils/common.js.map +1 -1
  117. package/dist/types/addressAggregator/adapters/abstract.d.ts +16 -0
  118. package/dist/types/addressAggregator/adapters/abstract.d.ts.map +1 -0
  119. package/dist/types/addressAggregator/adapters/bybit.d.ts +5 -9
  120. package/dist/types/addressAggregator/adapters/bybit.d.ts.map +1 -1
  121. package/dist/types/addressAggregator/adapters/env.d.ts +5 -7
  122. package/dist/types/addressAggregator/adapters/env.d.ts.map +1 -1
  123. package/dist/types/addressAggregator/adapters/file.d.ts +5 -7
  124. package/dist/types/addressAggregator/adapters/file.d.ts.map +1 -1
  125. package/dist/types/addressAggregator/adapters/risklabs.d.ts +5 -9
  126. package/dist/types/addressAggregator/adapters/risklabs.d.ts.map +1 -1
  127. package/dist/types/addressAggregator/types.d.ts +9 -1
  128. package/dist/types/addressAggregator/types.d.ts.map +1 -1
  129. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
  130. package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts.map +1 -1
  131. package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts +28 -6
  132. package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts.map +1 -1
  133. package/dist/types/clients/HubPoolClient.d.ts +2 -0
  134. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  135. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +1 -0
  136. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
  137. package/dist/types/clients/mocks/MockHubPoolClient.d.ts +2 -0
  138. package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
  139. package/dist/types/constants.d.ts +1 -0
  140. package/dist/types/constants.d.ts.map +1 -1
  141. package/dist/types/svm/eventsClient.d.ts.map +1 -1
  142. package/dist/types/svm/index.d.ts +2 -0
  143. package/dist/types/svm/index.d.ts.map +1 -1
  144. package/dist/types/svm/utils/events.d.ts +9 -1
  145. package/dist/types/svm/utils/events.d.ts.map +1 -1
  146. package/dist/types/svm/utils/index.d.ts +2 -0
  147. package/dist/types/svm/utils/index.d.ts.map +1 -0
  148. package/dist/types/utils/DepositUtils.d.ts +1 -0
  149. package/dist/types/utils/DepositUtils.d.ts.map +1 -1
  150. package/dist/types/utils/TokenUtils.d.ts +1 -0
  151. package/dist/types/utils/TokenUtils.d.ts.map +1 -1
  152. package/dist/types/utils/common.d.ts +2 -0
  153. package/dist/types/utils/common.d.ts.map +1 -1
  154. package/package.json +1 -1
  155. package/src/addressAggregator/adapters/abstract.ts +74 -0
  156. package/src/addressAggregator/adapters/bybit.ts +10 -11
  157. package/src/addressAggregator/adapters/env.ts +10 -10
  158. package/src/addressAggregator/adapters/file.ts +11 -12
  159. package/src/addressAggregator/adapters/risklabs.ts +14 -13
  160. package/src/addressAggregator/index.ts +2 -2
  161. package/src/addressAggregator/types.ts +10 -1
  162. package/src/clients/BundleDataClient/BundleDataClient.ts +28 -18
  163. package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +29 -0
  164. package/src/clients/BundleDataClient/utils/FillUtils.ts +128 -71
  165. package/src/clients/HubPoolClient.ts +38 -14
  166. package/src/clients/SpokePoolClient/SpokePoolClient.ts +40 -14
  167. package/src/clients/mocks/MockHubPoolClient.ts +16 -0
  168. package/src/constants.ts +13 -0
  169. package/src/svm/eventsClient.ts +6 -12
  170. package/src/svm/index.ts +2 -0
  171. package/src/svm/utils/events.ts +16 -4
  172. package/src/svm/utils/index.ts +1 -0
  173. package/src/utils/DepositUtils.ts +6 -1
  174. package/src/utils/TokenUtils.ts +6 -0
  175. package/src/utils/common.ts +2 -0
  176. package/dist/cjs/addressAggregator/adapters/util.d.ts +0 -4
  177. package/dist/cjs/addressAggregator/adapters/util.js +0 -66
  178. package/dist/cjs/addressAggregator/adapters/util.js.map +0 -1
  179. package/dist/esm/addressAggregator/adapters/util.d.ts +0 -4
  180. package/dist/esm/addressAggregator/adapters/util.js +0 -60
  181. package/dist/esm/addressAggregator/adapters/util.js.map +0 -1
  182. package/dist/types/addressAggregator/adapters/util.d.ts +0 -5
  183. package/dist/types/addressAggregator/adapters/util.d.ts.map +0 -1
  184. package/src/addressAggregator/adapters/util.ts +0 -47
@@ -0,0 +1,80 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import axios from "axios";
3
+ var _a = process.env.ACROSS_USER_AGENT, ACROSS_USER_AGENT = _a === void 0 ? "across-protocol" : _a;
4
+ var AbstractAdapter = /** @class */ (function () {
5
+ function AbstractAdapter(name, path, opts) {
6
+ var _a, _b, _c;
7
+ this.name = name;
8
+ this.path = path;
9
+ this.timeout = (_a = opts === null || opts === void 0 ? void 0 : opts.timeout) !== null && _a !== void 0 ? _a : 2000;
10
+ this.retries = (_b = opts === null || opts === void 0 ? void 0 : opts.retries) !== null && _b !== void 0 ? _b : 1;
11
+ this.throw = (_c = opts === null || opts === void 0 ? void 0 : opts.throwOnError) !== null && _c !== void 0 ? _c : true;
12
+ this.logger = opts === null || opts === void 0 ? void 0 : opts.logger;
13
+ }
14
+ AbstractAdapter.prototype.sleep = function (ms) {
15
+ return new Promise(function (r) { return setTimeout(r, ms); });
16
+ };
17
+ AbstractAdapter.prototype.fetch = function (name, url, timeout, retries) {
18
+ if (timeout === void 0) { timeout = 2000; }
19
+ if (retries === void 0) { retries = 1; }
20
+ return __awaiter(this, void 0, void 0, function () {
21
+ var args, errs, tries, err_1, errMsg;
22
+ return __generator(this, function (_a) {
23
+ switch (_a.label) {
24
+ case 0:
25
+ args = {
26
+ headers: { "User-Agent": ACROSS_USER_AGENT },
27
+ timeout: timeout,
28
+ };
29
+ errs = [];
30
+ tries = 0;
31
+ _a.label = 1;
32
+ case 1:
33
+ _a.trys.push([1, 3, , 6]);
34
+ return [4 /*yield*/, axios(url, args)];
35
+ case 2: return [2 /*return*/, (_a.sent()).data];
36
+ case 3:
37
+ err_1 = _a.sent();
38
+ errMsg = axios.isAxiosError(err_1) || err_1 instanceof Error ? err_1.message : "unknown error";
39
+ errs.push(errMsg);
40
+ if (!(++tries <= retries)) return [3 /*break*/, 5];
41
+ return [4 /*yield*/, this.sleep(Math.pow(1.5, tries) * 1000)];
42
+ case 4:
43
+ _a.sent(); // simple backoff
44
+ _a.label = 5;
45
+ case 5: return [3 /*break*/, 6];
46
+ case 6:
47
+ if (tries <= retries) return [3 /*break*/, 1];
48
+ _a.label = 7;
49
+ case 7: throw new Error("".concat(name, " retrieval failure (").concat(errs.join(", "), ")"));
50
+ }
51
+ });
52
+ });
53
+ };
54
+ AbstractAdapter.prototype.error = function (error) {
55
+ var _a;
56
+ if (this.throw) {
57
+ throw error;
58
+ }
59
+ var reason;
60
+ if (error instanceof Error) {
61
+ reason = error.message;
62
+ }
63
+ else {
64
+ reason = typeof error === "string" ? error : "unknown error";
65
+ }
66
+ var _b = this, name = _b.name, path = _b.path, timeout = _b.timeout, retries = _b.retries;
67
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn({
68
+ at: "".concat(name, "::update"),
69
+ message: "Failed to read addresses from ".concat(name, "."),
70
+ reason: reason,
71
+ path: path,
72
+ retries: retries,
73
+ timeout: timeout,
74
+ });
75
+ return Promise.resolve([]);
76
+ };
77
+ return AbstractAdapter;
78
+ }());
79
+ export { AbstractAdapter };
80
+ //# sourceMappingURL=abstract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/abstract.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAIlB,IAAA,KAA0C,OAAO,CAAC,GAAG,kBAAhB,EAArC,iBAAiB,mBAAG,iBAAiB,KAAA,CAAiB;AAE9D;IAME,yBACW,IAAY,EACZ,IAAY,EACrB,IAA4C;;QAFnC,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QAGrB,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,IAAI,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,mCAAI,IAAI,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC;IAC7B,CAAC;IAIS,+BAAK,GAAf,UAAgB,EAAU;QACxB,OAAO,IAAI,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EAAjB,CAAiB,CAAC,CAAC;IAC/C,CAAC;IAEe,+BAAK,GAArB,UAAsB,IAAY,EAAE,GAAW,EAAE,OAAc,EAAE,OAAW;QAA3B,wBAAA,EAAA,cAAc;QAAE,wBAAA,EAAA,WAAW;;;;;;wBACpE,IAAI,GAAG;4BACX,OAAO,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE;4BAC5C,OAAO,SAAA;yBACR,CAAC;wBAEI,IAAI,GAAa,EAAE,CAAC;wBACtB,KAAK,GAAG,CAAC,CAAC;;;;wBAGF,qBAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAA;4BAA9B,sBAAO,CAAC,SAAsB,CAAC,CAAC,IAAI,EAAC;;;wBAE/B,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,KAAG,CAAC,IAAI,KAAG,YAAY,KAAK,CAAC,CAAC,CAAC,KAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;wBAC/F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;6BACd,CAAA,EAAE,KAAK,IAAI,OAAO,CAAA,EAAlB,wBAAkB;wBAAE,qBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,EAAA;;wBAA7C,SAA6C,CAAC,CAAC,iBAAiB;;;;4BAEnF,KAAK,IAAI,OAAO;;4BAEzB,MAAM,IAAI,KAAK,CAAC,UAAG,IAAI,iCAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC,CAAC;;;;KACnE;IAES,+BAAK,GAAf,UAAgB,KAAc;;QAC5B,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,KAAK,CAAC;SACb;QAED,IAAI,MAAc,CAAC;QACnB,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;SACxB;aAAM;YACL,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;SAC9D;QAEK,IAAA,KAAmC,IAAI,EAArC,IAAI,UAAA,EAAE,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,OAAO,aAAS,CAAC;QAC9C,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC;YAChB,EAAE,EAAE,UAAG,IAAI,aAAU;YACrB,OAAO,EAAE,wCAAiC,IAAI,MAAG;YACjD,MAAM,QAAA;YACN,IAAI,MAAA;YACJ,OAAO,SAAA;YACP,OAAO,SAAA;SACR,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACH,sBAAC;AAAD,CAAC,AAnED,IAmEC"}
@@ -1,10 +1,6 @@
1
- import { AddressListAdapter } from "../types";
2
- import { Logger } from "./util";
3
- export declare class AddressList implements AddressListAdapter {
4
- readonly url: string;
5
- readonly timeout = 2000;
6
- readonly retries = 1;
7
- readonly name = "bybit";
8
- constructor(url?: string);
9
- update(logger?: Logger): Promise<string[]>;
1
+ import { AdapterOptions } from "../types";
2
+ import { AbstractAdapter } from "./abstract";
3
+ export declare class AddressList extends AbstractAdapter {
4
+ constructor(opts?: AdapterOptions);
5
+ update(): Promise<string[]>;
10
6
  }
@@ -1,6 +1,7 @@
1
- import { __awaiter, __generator, __spreadArray } from "tslib";
1
+ import { __awaiter, __extends, __generator, __spreadArray } from "tslib";
2
2
  import { array, defaulted, string, type } from "superstruct";
3
- import { logError, fetch } from "./util";
3
+ import { AbstractAdapter } from "./abstract";
4
+ var DEFAULT_NAME = "bybit";
4
5
  var DEFAULT_URL = "https://hackscan.hackbounty.io/public/hack-address.json";
5
6
  // This type is a bit message and unweildy. Additional fields representing new chains may be added without notification.
6
7
  var bybitResponse = type({
@@ -10,25 +11,23 @@ var bybitResponse = type({
10
11
  arbi: defaulted(array(string()), []),
11
12
  }),
12
13
  });
13
- var AddressList = /** @class */ (function () {
14
- function AddressList(url) {
15
- if (url === void 0) { url = DEFAULT_URL; }
16
- this.url = url;
17
- this.timeout = 2000; // ms
18
- this.retries = 1;
19
- this.name = "bybit";
14
+ var AddressList = /** @class */ (function (_super) {
15
+ __extends(AddressList, _super);
16
+ function AddressList(opts) {
17
+ var _a, _b;
18
+ return _super.call(this, (_a = opts === null || opts === void 0 ? void 0 : opts.name) !== null && _a !== void 0 ? _a : DEFAULT_NAME, (_b = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _b !== void 0 ? _b : DEFAULT_URL, opts) || this;
20
19
  }
21
- AddressList.prototype.update = function (logger) {
20
+ AddressList.prototype.update = function () {
22
21
  return __awaiter(this, void 0, void 0, function () {
23
22
  var response;
24
23
  return __generator(this, function (_a) {
25
24
  switch (_a.label) {
26
- case 0: return [4 /*yield*/, fetch(this.name, this.url, this.timeout, this.retries)];
25
+ case 0: return [4 /*yield*/, this.fetch(this.name, this.path, this.timeout, this.retries)];
27
26
  case 1:
28
27
  response = _a.sent();
29
28
  if (!bybitResponse.is(response)) {
30
29
  // nb. don't log the response because it might be very large.
31
- return [2 /*return*/, logError(this.name, "Failed to validate response", logger)];
30
+ return [2 /*return*/, this.error("Failed to validate response")];
32
31
  }
33
32
  return [2 /*return*/, __spreadArray(__spreadArray(__spreadArray([], response["0221"].eth, true), response["0221"].bsc, true), response["0221"].arbi, true)];
34
33
  }
@@ -36,6 +35,6 @@ var AddressList = /** @class */ (function () {
36
35
  });
37
36
  };
38
37
  return AddressList;
39
- }());
38
+ }(AbstractAdapter));
40
39
  export { AddressList };
41
40
  //# sourceMappingURL=bybit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bybit.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/bybit.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEjD,IAAM,WAAW,GAAG,yDAAyD,CAAC;AAE9E,wHAAwH;AACxH,IAAM,aAAa,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,IAAI,CAAC;QACX,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;KACrC,CAAC;CACH,CAAC,CAAC;AAEH;IAKE,qBAAqB,GAAiB;QAAjB,oBAAA,EAAA,iBAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;QAJ7B,YAAO,GAAG,IAAI,CAAC,CAAC,KAAK;QACrB,YAAO,GAAG,CAAC,CAAC;QACZ,SAAI,GAAG,OAAO,CAAC;IAEiB,CAAC;IAEpC,4BAAM,GAAZ,UAAa,MAAe;;;;;4BACT,qBAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAAvE,QAAQ,GAAG,SAA4D;wBAC7E,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;4BAC/B,6DAA6D;4BAC7D,sBAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,EAAE,MAAM,CAAC,EAAC;yBACnE;wBAED,oEAAW,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,SAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,SAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,SAAE;;;;KACrF;IACH,kBAAC;AAAD,CAAC,AAhBD,IAgBC"}
1
+ {"version":3,"file":"bybit.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/bybit.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,IAAM,YAAY,GAAG,OAAO,CAAC;AAC7B,IAAM,WAAW,GAAG,yDAAyD,CAAC;AAE9E,wHAAwH;AACxH,IAAM,aAAa,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,IAAI,CAAC;QACX,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;KACrC,CAAC;CACH,CAAC,CAAC;AAEH;IAAiC,+BAAe;IAC9C,qBAAY,IAAqB;;eAC/B,kBAAM,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,YAAY,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,WAAW,EAAE,IAAI,CAAC;IACpE,CAAC;IAEK,4BAAM,GAAZ;;;;;4BACmB,qBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAA7E,QAAQ,GAAG,SAAkE;wBACnF,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;4BAC/B,6DAA6D;4BAC7D,sBAAO,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAC;yBAClD;wBAED,oEAAW,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,SAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,SAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,SAAE;;;;KACrF;IACH,kBAAC;AAAD,CAAC,AAdD,CAAiC,eAAe,GAc/C"}
@@ -1,8 +1,6 @@
1
- import { AddressListAdapter } from "../types";
2
- import { Logger } from "./util";
3
- export declare class AddressList implements AddressListAdapter {
4
- readonly envVar: string;
5
- readonly name = "process.env";
6
- constructor(envVar?: string);
7
- update(logger?: Logger): Promise<string[]>;
1
+ import { AdapterOptions } from "../types";
2
+ import { AbstractAdapter } from "./abstract";
3
+ export declare class AddressList extends AbstractAdapter {
4
+ constructor(opts?: AdapterOptions);
5
+ update(): Promise<string[]>;
8
6
  }
@@ -1,14 +1,15 @@
1
+ import { __extends } from "tslib";
1
2
  import { array, defaulted, string } from "superstruct";
2
- import { logError } from "./util";
3
+ import { AbstractAdapter } from "./abstract";
3
4
  var envConfig = defaulted(array(string()), []);
4
- var AddressList = /** @class */ (function () {
5
- function AddressList(envVar) {
6
- if (envVar === void 0) { envVar = "ACROSS_IGNORED_ADDRESSES"; }
7
- this.envVar = envVar;
8
- this.name = "process.env";
5
+ var AddressList = /** @class */ (function (_super) {
6
+ __extends(AddressList, _super);
7
+ function AddressList(opts) {
8
+ var _a, _b;
9
+ return _super.call(this, (_a = opts === null || opts === void 0 ? void 0 : opts.name) !== null && _a !== void 0 ? _a : "process.env", (_b = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _b !== void 0 ? _b : "ACROSS_IGNORED_ADDRESSES", opts) || this;
9
10
  }
10
- AddressList.prototype.update = function (logger) {
11
- var config = process.env[this.envVar];
11
+ AddressList.prototype.update = function () {
12
+ var config = process.env[this.path];
12
13
  if (!config) {
13
14
  return Promise.resolve([]);
14
15
  }
@@ -16,15 +17,15 @@ var AddressList = /** @class */ (function () {
16
17
  try {
17
18
  addresses = JSON.parse(config);
18
19
  if (!envConfig.is(addresses)) {
19
- return logError(this.name, "Address format validation failure.", logger);
20
+ return this.error("Address format validation failure.");
20
21
  }
21
22
  }
22
23
  catch (err) {
23
- return logError(this.name, err, logger);
24
+ return this.error(err);
24
25
  }
25
26
  return Promise.resolve(addresses);
26
27
  };
27
28
  return AddressList;
28
- }());
29
+ }(AbstractAdapter));
29
30
  export { AddressList };
30
31
  //# sourceMappingURL=env.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAU,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE1C,IAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAEjD;IAGE,qBAAqB,MAAmC;QAAnC,uBAAA,EAAA,mCAAmC;QAAnC,WAAM,GAAN,MAAM,CAA6B;QAF/C,SAAI,GAAG,aAAa,CAAC;IAE6B,CAAC;IAE5D,4BAAM,GAAN,UAAO,MAAe;QACpB,IAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC5B;QAED,IAAI,SAAkB,CAAC;QACvB,IAAI;YACF,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;gBAC5B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,oCAAoC,EAAE,MAAM,CAAC,CAAC;aAC1E;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;SACzC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACH,kBAAC;AAAD,CAAC,AAvBD,IAuBC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/env.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,IAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAEjD;IAAiC,+BAAe;IAC9C,qBAAY,IAAqB;;eAC/B,kBAAM,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,aAAa,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,0BAA0B,EAAE,IAAI,CAAC;IACpF,CAAC;IAED,4BAAM,GAAN;QACE,IAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC5B;QAED,IAAI,SAAkB,CAAC;QACvB,IAAI;YACF,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;gBAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACxB;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACH,kBAAC;AAAD,CAAC,AAvBD,CAAiC,eAAe,GAuB/C"}
@@ -1,8 +1,6 @@
1
- import { AddressListAdapter } from "../types";
2
- import { Logger } from "./util";
3
- export declare class AddressList implements AddressListAdapter {
4
- readonly path: string;
5
- readonly name: string;
6
- constructor(path?: string);
7
- update(logger?: Logger): Promise<string[]>;
1
+ import { AdapterOptions } from "../types";
2
+ import { AbstractAdapter } from "./abstract";
3
+ export declare class AddressList extends AbstractAdapter {
4
+ constructor(opts?: AdapterOptions);
5
+ update(): Promise<string[]>;
8
6
  }
@@ -1,15 +1,16 @@
1
- import { __awaiter, __generator } from "tslib";
1
+ import { __awaiter, __extends, __generator } from "tslib";
2
2
  import { readFile } from "node:fs/promises";
3
3
  import { array, defaulted, string } from "superstruct";
4
- import { logError } from "./util";
4
+ import { AbstractAdapter } from "./abstract";
5
5
  var fileConfig = defaulted(array(string()), []);
6
- var AddressList = /** @class */ (function () {
7
- function AddressList(path) {
8
- if (path === void 0) { path = "./addresses.json"; }
9
- this.path = path;
10
- this.name = "fs:".concat(path);
6
+ var AddressList = /** @class */ (function (_super) {
7
+ __extends(AddressList, _super);
8
+ function AddressList(opts) {
9
+ var _a;
10
+ var _b = (opts !== null && opts !== void 0 ? opts : {}).path, path = _b === void 0 ? "addresses.json" : _b;
11
+ return _super.call(this, (_a = opts === null || opts === void 0 ? void 0 : opts.name) !== null && _a !== void 0 ? _a : "fs:".concat(path), path, opts) || this;
11
12
  }
12
- AddressList.prototype.update = function (logger) {
13
+ AddressList.prototype.update = function () {
13
14
  return __awaiter(this, void 0, void 0, function () {
14
15
  var data, err_1, addresses;
15
16
  return __generator(this, function (_a) {
@@ -22,19 +23,19 @@ var AddressList = /** @class */ (function () {
22
23
  return [3 /*break*/, 3];
23
24
  case 2:
24
25
  err_1 = _a.sent();
25
- return [2 /*return*/, logError(this.name, err_1, logger)];
26
+ return [2 /*return*/, this.error(err_1)];
26
27
  case 3:
27
28
  if (!data) {
28
- return [2 /*return*/, logError(this.name, "No addresses found in \"".concat(this.path, "\""), logger)];
29
+ return [2 /*return*/, this.error("No addresses found")];
29
30
  }
30
31
  try {
31
32
  addresses = JSON.parse(data);
32
33
  if (!fileConfig.is(addresses)) {
33
- return [2 /*return*/, logError(this.name, "Address format validation failure.", logger)];
34
+ return [2 /*return*/, this.error("Address format validation failure.")];
34
35
  }
35
36
  }
36
37
  catch (err) {
37
- return [2 /*return*/, logError(this.name, err, logger)];
38
+ return [2 /*return*/, this.error(err)];
38
39
  }
39
40
  return [2 /*return*/, Promise.resolve(addresses)];
40
41
  }
@@ -42,6 +43,6 @@ var AddressList = /** @class */ (function () {
42
43
  });
43
44
  };
44
45
  return AddressList;
45
- }());
46
+ }(AbstractAdapter));
46
47
  export { AddressList };
47
48
  //# sourceMappingURL=file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/file.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAU,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE1C,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAElD;IAGE,qBAAqB,IAAyB;QAAzB,qBAAA,EAAA,yBAAyB;QAAzB,SAAI,GAAJ,IAAI,CAAqB;QAC5C,IAAI,CAAC,IAAI,GAAG,aAAM,IAAI,CAAE,CAAC;IAC3B,CAAC;IAEK,4BAAM,GAAZ,UAAa,MAAe;;;;;;;wBAGjB,qBAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAA;;wBAAtD,IAAI,GAAG,SAA+C,CAAC;;;;wBAEvD,sBAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAG,EAAE,MAAM,CAAC,EAAC;;wBAG1C,IAAI,CAAC,IAAI,EAAE;4BACT,sBAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,kCAA0B,IAAI,CAAC,IAAI,OAAG,EAAE,MAAM,CAAC,EAAC;yBAC5E;wBAGD,IAAI;4BACF,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC7B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;gCAC7B,sBAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,oCAAoC,EAAE,MAAM,CAAC,EAAC;6BAC1E;yBACF;wBAAC,OAAO,GAAG,EAAE;4BACZ,sBAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAC;yBACzC;wBAED,sBAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAC;;;;KACnC;IACH,kBAAC;AAAD,CAAC,AA/BD,IA+BC"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/file.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAElD;IAAiC,+BAAe;IAC9C,qBAAY,IAAqB;;QACvB,IAAA,KAA4B,CAAA,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAA,KAAf,EAAvB,IAAI,mBAAG,gBAAgB,KAAA,CAAgB;eAC/C,kBAAM,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,aAAM,IAAI,CAAE,EAAE,IAAI,EAAE,IAAI,CAAC;IAC/C,CAAC;IAEK,4BAAM,GAAZ;;;;;;;wBAGW,qBAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAA;;wBAAtD,IAAI,GAAG,SAA+C,CAAC;;;;wBAEvD,sBAAO,IAAI,CAAC,KAAK,CAAC,KAAG,CAAC,EAAC;;wBAGzB,IAAI,CAAC,IAAI,EAAE;4BACT,sBAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAC;yBACzC;wBAGD,IAAI;4BACF,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC7B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;gCAC7B,sBAAO,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,EAAC;6BACzD;yBACF;wBAAC,OAAO,GAAG,EAAE;4BACZ,sBAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAC;yBACxB;wBAED,sBAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAC;;;;KACnC;IACH,kBAAC;AAAD,CAAC,AA9BD,CAAiC,eAAe,GA8B/C"}
@@ -1,10 +1,6 @@
1
- import { AddressListAdapter } from "../types";
2
- import { Logger } from "./util";
3
- export declare class AddressList implements AddressListAdapter {
4
- readonly name: string;
5
- readonly url: string;
6
- readonly timeout = 2000;
7
- readonly retries = 1;
8
- constructor(name?: string, url?: string);
9
- update(logger?: Logger): Promise<string[]>;
1
+ import { AdapterOptions } from "../types";
2
+ import { AbstractAdapter } from "./abstract";
3
+ export declare class AddressList extends AbstractAdapter {
4
+ constructor(opts?: AdapterOptions);
5
+ update(): Promise<string[]>;
10
6
  }
@@ -1,28 +1,32 @@
1
- import { __awaiter, __generator } from "tslib";
1
+ import { __awaiter, __extends, __generator } from "tslib";
2
2
  import { array, string } from "superstruct";
3
- import { logError, fetch } from "./util";
3
+ import { AbstractAdapter } from "./abstract";
4
4
  var RESPONSE_TYPE = array(string());
5
5
  var DEFAULT_NAME = "Risk Labs";
6
6
  var DEFAULT_URL = "https://blacklist.risklabs.foundation/api/blacklist";
7
- var AddressList = /** @class */ (function () {
8
- function AddressList(name, url) {
9
- if (name === void 0) { name = DEFAULT_NAME; }
10
- if (url === void 0) { url = DEFAULT_URL; }
11
- this.name = name;
12
- this.url = url;
13
- this.timeout = 2000; // ms
14
- this.retries = 1;
7
+ var AddressList = /** @class */ (function (_super) {
8
+ __extends(AddressList, _super);
9
+ function AddressList(opts) {
10
+ var _a, _b;
11
+ return _super.call(this, (_a = opts === null || opts === void 0 ? void 0 : opts.name) !== null && _a !== void 0 ? _a : DEFAULT_NAME, (_b = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _b !== void 0 ? _b : DEFAULT_URL, opts) || this;
15
12
  }
16
- AddressList.prototype.update = function (logger) {
13
+ AddressList.prototype.update = function () {
17
14
  return __awaiter(this, void 0, void 0, function () {
18
- var response;
15
+ var response, err_1;
19
16
  return __generator(this, function (_a) {
20
17
  switch (_a.label) {
21
- case 0: return [4 /*yield*/, fetch(this.name, this.url, this.timeout, this.retries)];
18
+ case 0:
19
+ _a.trys.push([0, 2, , 3]);
20
+ return [4 /*yield*/, this.fetch(this.name, this.path, this.timeout, this.retries)];
22
21
  case 1:
23
22
  response = _a.sent();
23
+ return [3 /*break*/, 3];
24
+ case 2:
25
+ err_1 = _a.sent();
26
+ return [2 /*return*/, this.error(err_1)];
27
+ case 3:
24
28
  if (!RESPONSE_TYPE.is(response)) {
25
- return [2 /*return*/, logError(this.name, "Failed to validate response", logger)];
29
+ return [2 /*return*/, this.error("Failed to validate response")];
26
30
  }
27
31
  return [2 /*return*/, response];
28
32
  }
@@ -30,6 +34,6 @@ var AddressList = /** @class */ (function () {
30
34
  });
31
35
  };
32
36
  return AddressList;
33
- }());
37
+ }(AbstractAdapter));
34
38
  export { AddressList };
35
39
  //# sourceMappingURL=risklabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"risklabs.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/risklabs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEjD,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,IAAM,YAAY,GAAG,WAAW,CAAC;AACjC,IAAM,WAAW,GAAG,qDAAqD,CAAC;AAE1E;IAIE,qBACW,IAAmB,EACnB,GAAiB;QADjB,qBAAA,EAAA,mBAAmB;QACnB,oBAAA,EAAA,iBAAiB;QADjB,SAAI,GAAJ,IAAI,CAAe;QACnB,QAAG,GAAH,GAAG,CAAc;QALnB,YAAO,GAAG,IAAI,CAAC,CAAC,KAAK;QACrB,YAAO,GAAG,CAAC,CAAC;IAKlB,CAAC;IAEE,4BAAM,GAAZ,UAAa,MAAe;;;;;4BACT,qBAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAAvE,QAAQ,GAAG,SAA4D;wBAE7E,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;4BAC/B,sBAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,EAAE,MAAM,CAAC,EAAC;yBACnE;wBAED,sBAAO,QAAQ,EAAC;;;;KACjB;IACH,kBAAC;AAAD,CAAC,AAlBD,IAkBC"}
1
+ {"version":3,"file":"risklabs.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/risklabs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,IAAM,YAAY,GAAG,WAAW,CAAC;AACjC,IAAM,WAAW,GAAG,qDAAqD,CAAC;AAE1E;IAAiC,+BAAe;IAC9C,qBAAY,IAAqB;;eAC/B,kBAAM,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,YAAY,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,WAAW,EAAE,IAAI,CAAC;IACpE,CAAC;IAEK,4BAAM,GAAZ;;;;;;;wBAGe,qBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAA7E,QAAQ,GAAG,SAAkE,CAAC;;;;wBAE9E,sBAAO,IAAI,CAAC,KAAK,CAAC,KAAG,CAAC,EAAC;;wBAGzB,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;4BAC/B,sBAAO,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAC;yBAClD;wBAED,sBAAO,QAAQ,EAAC;;;;KACjB;IACH,kBAAC;AAAD,CAAC,AAnBD,CAAiC,eAAe,GAmB/C"}
@@ -34,7 +34,7 @@ var AddressAggregator = /** @class */ (function () {
34
34
  switch (_c.label) {
35
35
  case 0:
36
36
  invalidAddresses = [];
37
- return [4 /*yield*/, adapter.update(this.logger)];
37
+ return [4 /*yield*/, adapter.update()];
38
38
  case 1:
39
39
  addresses = (_c.sent())
40
40
  .map(function (address) {
@@ -84,7 +84,7 @@ function run() {
84
84
  return __generator(this, function (_a) {
85
85
  switch (_a.label) {
86
86
  case 0:
87
- addressList = new AddressAggregator([new adapters.risklabs.AddressList()]);
87
+ addressList = new AddressAggregator([new adapters.risklabs.AddressList({ throwOnError: true })]);
88
88
  return [4 /*yield*/, addressList.update()];
89
89
  case 1:
90
90
  addresses = _a.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/addressAggregator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/addressAggregator/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,14 @@
1
1
  import { Logger } from "../utils";
2
+ export type AdapterOptions = {
3
+ name?: string;
4
+ path?: string;
5
+ retries?: number;
6
+ timeout?: number;
7
+ throwOnError?: boolean;
8
+ logger?: Logger;
9
+ };
2
10
  export interface AddressListAdapter {
3
11
  readonly name: string;
4
- update(logger?: Logger): Promise<string[]>;
12
+ update(): Promise<string[]>;
5
13
  }
6
14
  export declare const INVALID_ADDRESS = "";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/addressAggregator/types.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,IAAM,eAAe,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/addressAggregator/types.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,IAAM,eAAe,GAAG,EAAE,CAAC"}
@@ -3,7 +3,7 @@ import assert from "assert";
3
3
  import _ from "lodash";
4
4
  import { FillType, FillStatus, } from "../../interfaces";
5
5
  import { findFillEvent } from "../../arch/evm";
6
- import { BigNumber, bnZero, queryHistoricalDepositForFill, assign, fixedPointAdjustment, isDefined, toBN, forEachAsync, getBlockRangeForChain, getImpliedBundleBlockRanges, getMessageHash, getRelayEventKey, isSlowFill, mapAsync, bnUint32Max, isZeroValueDeposit, isZeroValueFillOrSlowFillRequest, chainIsEvm, isValidEvmAddress, duplicateEvent, } from "../../utils";
6
+ import { BigNumber, bnZero, queryHistoricalDepositForFill, assign, fixedPointAdjustment, isDefined, toBN, forEachAsync, getBlockRangeForChain, getImpliedBundleBlockRanges, getMessageHash, getRelayEventKey, isSlowFill, mapAsync, bnUint32Max, isZeroValueDeposit, isZeroValueFillOrSlowFillRequest, chainIsEvm, isValidEvmAddress, duplicateEvent, invalidOutputToken, } from "../../utils";
7
7
  import { BundleDataSS, getEndBlockBuffers, getRefundInformationFromFill, getRefundsFromBundle, getWidestPossibleExpectedBlockRange, isChainDisabled, prettyPrintV3SpokePoolEvents, verifyFillRepayment, } from "./utils";
8
8
  import { UNDEFINED_MESSAGE_HASH } from "../../constants";
9
9
  import { isEVMSpokePoolClient } from "../SpokePoolClient";
@@ -297,7 +297,8 @@ var BundleDataClient = /** @class */ (function () {
297
297
  fillsToCount = this_1.spokePoolClients[chainId].getFills().filter(function (fill) {
298
298
  if (fill.blockNumber < blockRanges[chainIndex][0] ||
299
299
  fill.blockNumber > blockRanges[chainIndex][1] ||
300
- isZeroValueFillOrSlowFillRequest(fill)) {
300
+ isZeroValueFillOrSlowFillRequest(fill) ||
301
+ invalidOutputToken(fill)) {
301
302
  return false;
302
303
  }
303
304
  // If origin spoke pool client isn't defined, we can't validate it.
@@ -328,7 +329,7 @@ var BundleDataClient = /** @class */ (function () {
328
329
  if (!isDefined(fill)) {
329
330
  return [2 /*return*/];
330
331
  }
331
- _a = getRefundInformationFromFill(fill, this.clients.hubPoolClient, blockRanges, this.chainIdListForBundleEvaluationBlockNumbers, matchingDeposit.fromLiteChain), chainToSendRefundTo = _a.chainToSendRefundTo, repaymentToken = _a.repaymentToken;
332
+ _a = getRefundInformationFromFill(__assign(__assign({}, fill), { fromLiteChain: matchingDeposit.fromLiteChain, quoteBlockNumber: matchingDeposit.quoteBlockNumber }), this.clients.hubPoolClient), chainToSendRefundTo = _a.chainToSendRefundTo, repaymentToken = _a.repaymentToken;
332
333
  relayer = fill.relayer, refundAmount = fill.inputAmount;
333
334
  (_b = refundsForChain[chainToSendRefundTo]) !== null && _b !== void 0 ? _b : (refundsForChain[chainToSendRefundTo] = {});
334
335
  (_c = (_e = refundsForChain[chainToSendRefundTo])[repaymentToken]) !== null && _c !== void 0 ? _c : (_e[repaymentToken] = {});
@@ -755,7 +756,11 @@ var BundleDataClient = /** @class */ (function () {
755
756
  // We can remove fills for deposits with input amount equal to zero because these will result in 0 refunded
756
757
  // tokens to the filler. We can't remove non-empty message deposit here in case there is a slow fill
757
758
  // request for the deposit, we'd want to see the fill took place.
758
- .filter(function (fill) { return fill.blockNumber <= destinationChainBlockRange[1] && !isZeroValueFillOrSlowFillRequest(fill); }), function (fill) { return __awaiter(_this, void 0, void 0, function () {
759
+ .filter(function (fill) {
760
+ return fill.blockNumber <= destinationChainBlockRange[1] &&
761
+ !isZeroValueFillOrSlowFillRequest(fill) &&
762
+ !invalidOutputToken(fill);
763
+ }), function (fill) { return __awaiter(_this, void 0, void 0, function () {
759
764
  var relayDataHash, deposits, fillToRefund_1, duplicateDeposits, historicalDeposit, matchedDeposit, fillToRefund;
760
765
  return __generator(this, function (_a) {
761
766
  switch (_a.label) {
@@ -885,7 +890,9 @@ var BundleDataClient = /** @class */ (function () {
885
890
  return [4 /*yield*/, forEachAsync(destinationClient
886
891
  .getSlowFillRequestsForOriginChain(originChainId)
887
892
  .filter(function (request) {
888
- return request.blockNumber <= destinationChainBlockRange[1] && !isZeroValueFillOrSlowFillRequest(request);
893
+ return request.blockNumber <= destinationChainBlockRange[1] &&
894
+ !isZeroValueFillOrSlowFillRequest(request) &&
895
+ !invalidOutputToken(request);
889
896
  }), function (slowFillRequest) { return __awaiter(_this, void 0, void 0, function () {
890
897
  var relayDataHash, _a, deposits, fill, matchedDeposit, historicalDeposit, matchedDeposit;
891
898
  return __generator(this, function (_b) {
@@ -1242,7 +1249,7 @@ var BundleDataClient = /** @class */ (function () {
1242
1249
  assert(isDefined(deposits) && deposits.length > 0, "Deposit should exist in relay hash dictionary.");
1243
1250
  var matchedDeposit = deposits[0];
1244
1251
  assert(isDefined(matchedDeposit), "Deposit should exist in relay hash dictionary.");
1245
- var paymentChainId = getRefundInformationFromFill(fill, _this.clients.hubPoolClient, blockRangesForChains, chainIds, matchedDeposit.fromLiteChain).chainToSendRefundTo;
1252
+ var paymentChainId = getRefundInformationFromFill(__assign(__assign({}, fill), { fromLiteChain: matchedDeposit.fromLiteChain, quoteBlockNumber: matchedDeposit.quoteBlockNumber }), _this.clients.hubPoolClient).chainToSendRefundTo;
1246
1253
  return __assign(__assign({}, fill), { paymentChainId: paymentChainId });
1247
1254
  }))
1248
1255
  : [],
@@ -1271,7 +1278,7 @@ var BundleDataClient = /** @class */ (function () {
1271
1278
  assert(isDefined(deposits) && deposits.length > 0, "Deposit should exist in relay hash dictionary.");
1272
1279
  var associatedDeposit = deposits[0];
1273
1280
  assert(isDefined(associatedDeposit), "Deposit should exist in relay hash dictionary.");
1274
- var _b = getRefundInformationFromFill(fill, _this.clients.hubPoolClient, blockRangesForChains, chainIds, associatedDeposit.fromLiteChain), chainToSendRefundTo = _b.chainToSendRefundTo, repaymentToken = _b.repaymentToken;
1281
+ var _b = getRefundInformationFromFill(__assign(__assign({}, fill), { fromLiteChain: associatedDeposit.fromLiteChain, quoteBlockNumber: associatedDeposit.quoteBlockNumber }), _this.clients.hubPoolClient), chainToSendRefundTo = _b.chainToSendRefundTo, repaymentToken = _b.repaymentToken;
1275
1282
  updateBundleFillsV3(bundleFillsV3, fill, realizedLpFeePct, chainToSendRefundTo, repaymentToken, fill.relayer);
1276
1283
  });
1277
1284
  v3SlowFillLpFees.forEach(function (_a, idx) {