@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.
- package/dist/cjs/addressAggregator/adapters/abstract.d.ts +15 -0
- package/dist/cjs/addressAggregator/adapters/abstract.js +83 -0
- package/dist/cjs/addressAggregator/adapters/abstract.js.map +1 -0
- package/dist/cjs/addressAggregator/adapters/bybit.d.ts +5 -9
- package/dist/cjs/addressAggregator/adapters/bybit.js +11 -12
- package/dist/cjs/addressAggregator/adapters/bybit.js.map +1 -1
- package/dist/cjs/addressAggregator/adapters/env.d.ts +5 -7
- package/dist/cjs/addressAggregator/adapters/env.js +12 -11
- package/dist/cjs/addressAggregator/adapters/env.js.map +1 -1
- package/dist/cjs/addressAggregator/adapters/file.d.ts +5 -7
- package/dist/cjs/addressAggregator/adapters/file.js +13 -12
- package/dist/cjs/addressAggregator/adapters/file.js.map +1 -1
- package/dist/cjs/addressAggregator/adapters/risklabs.d.ts +5 -9
- package/dist/cjs/addressAggregator/adapters/risklabs.js +18 -14
- package/dist/cjs/addressAggregator/adapters/risklabs.js.map +1 -1
- package/dist/cjs/addressAggregator/index.js +2 -2
- package/dist/cjs/addressAggregator/index.js.map +1 -1
- package/dist/cjs/addressAggregator/types.d.ts +9 -1
- package/dist/cjs/addressAggregator/types.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +13 -6
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +9 -0
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.d.ts +7 -6
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +46 -35
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/cjs/clients/HubPoolClient.d.ts +2 -0
- package/dist/cjs/clients/HubPoolClient.js +27 -10
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +1 -0
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +16 -3
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +2 -0
- package/dist/cjs/clients/mocks/MockHubPoolClient.js +18 -0
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/cjs/constants.d.ts +1 -0
- package/dist/cjs/constants.js +13 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/svm/eventsClient.js +5 -12
- package/dist/cjs/svm/eventsClient.js.map +1 -1
- package/dist/cjs/svm/index.d.ts +2 -0
- package/dist/cjs/svm/index.js +3 -0
- package/dist/cjs/svm/index.js.map +1 -1
- package/dist/cjs/svm/utils/events.d.ts +6 -1
- package/dist/cjs/svm/utils/events.js +13 -4
- package/dist/cjs/svm/utils/events.js.map +1 -1
- package/dist/cjs/svm/utils/index.d.ts +1 -0
- package/dist/cjs/svm/utils/index.js +5 -0
- package/dist/cjs/svm/utils/index.js.map +1 -0
- package/dist/cjs/utils/DepositUtils.d.ts +1 -0
- package/dist/cjs/utils/DepositUtils.js +5 -1
- package/dist/cjs/utils/DepositUtils.js.map +1 -1
- package/dist/cjs/utils/TokenUtils.d.ts +1 -0
- package/dist/cjs/utils/TokenUtils.js +5 -1
- package/dist/cjs/utils/TokenUtils.js.map +1 -1
- package/dist/cjs/utils/common.d.ts +2 -0
- package/dist/cjs/utils/common.js +3 -1
- package/dist/cjs/utils/common.js.map +1 -1
- package/dist/esm/addressAggregator/adapters/abstract.d.ts +15 -0
- package/dist/esm/addressAggregator/adapters/abstract.js +80 -0
- package/dist/esm/addressAggregator/adapters/abstract.js.map +1 -0
- package/dist/esm/addressAggregator/adapters/bybit.d.ts +5 -9
- package/dist/esm/addressAggregator/adapters/bybit.js +12 -13
- package/dist/esm/addressAggregator/adapters/bybit.js.map +1 -1
- package/dist/esm/addressAggregator/adapters/env.d.ts +5 -7
- package/dist/esm/addressAggregator/adapters/env.js +12 -11
- package/dist/esm/addressAggregator/adapters/env.js.map +1 -1
- package/dist/esm/addressAggregator/adapters/file.d.ts +5 -7
- package/dist/esm/addressAggregator/adapters/file.js +14 -13
- package/dist/esm/addressAggregator/adapters/file.js.map +1 -1
- package/dist/esm/addressAggregator/adapters/risklabs.d.ts +5 -9
- package/dist/esm/addressAggregator/adapters/risklabs.js +19 -15
- package/dist/esm/addressAggregator/adapters/risklabs.js.map +1 -1
- package/dist/esm/addressAggregator/index.js +2 -2
- package/dist/esm/addressAggregator/index.js.map +1 -1
- package/dist/esm/addressAggregator/types.d.ts +9 -1
- package/dist/esm/addressAggregator/types.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +14 -7
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +15 -0
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.d.ts +28 -6
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +82 -49
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.d.ts +2 -0
- package/dist/esm/clients/HubPoolClient.js +31 -13
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +1 -0
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +24 -11
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +2 -0
- package/dist/esm/clients/mocks/MockHubPoolClient.js +18 -0
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/esm/constants.d.ts +1 -0
- package/dist/esm/constants.js +12 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/svm/eventsClient.js +6 -13
- package/dist/esm/svm/eventsClient.js.map +1 -1
- package/dist/esm/svm/index.d.ts +2 -0
- package/dist/esm/svm/index.js +3 -0
- package/dist/esm/svm/index.js.map +1 -1
- package/dist/esm/svm/utils/events.d.ts +9 -1
- package/dist/esm/svm/utils/events.js +15 -3
- package/dist/esm/svm/utils/events.js.map +1 -1
- package/dist/esm/svm/utils/index.d.ts +1 -0
- package/dist/esm/svm/utils/index.js +2 -0
- package/dist/esm/svm/utils/index.js.map +1 -0
- package/dist/esm/utils/DepositUtils.d.ts +1 -0
- package/dist/esm/utils/DepositUtils.js +5 -1
- package/dist/esm/utils/DepositUtils.js.map +1 -1
- package/dist/esm/utils/TokenUtils.d.ts +1 -0
- package/dist/esm/utils/TokenUtils.js +3 -0
- package/dist/esm/utils/TokenUtils.js.map +1 -1
- package/dist/esm/utils/common.d.ts +2 -0
- package/dist/esm/utils/common.js +2 -0
- package/dist/esm/utils/common.js.map +1 -1
- package/dist/types/addressAggregator/adapters/abstract.d.ts +16 -0
- package/dist/types/addressAggregator/adapters/abstract.d.ts.map +1 -0
- package/dist/types/addressAggregator/adapters/bybit.d.ts +5 -9
- package/dist/types/addressAggregator/adapters/bybit.d.ts.map +1 -1
- package/dist/types/addressAggregator/adapters/env.d.ts +5 -7
- package/dist/types/addressAggregator/adapters/env.d.ts.map +1 -1
- package/dist/types/addressAggregator/adapters/file.d.ts +5 -7
- package/dist/types/addressAggregator/adapters/file.d.ts.map +1 -1
- package/dist/types/addressAggregator/adapters/risklabs.d.ts +5 -9
- package/dist/types/addressAggregator/adapters/risklabs.d.ts.map +1 -1
- package/dist/types/addressAggregator/types.d.ts +9 -1
- package/dist/types/addressAggregator/types.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts +28 -6
- package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts.map +1 -1
- package/dist/types/clients/HubPoolClient.d.ts +2 -0
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +1 -0
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts +2 -0
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/svm/eventsClient.d.ts.map +1 -1
- package/dist/types/svm/index.d.ts +2 -0
- package/dist/types/svm/index.d.ts.map +1 -1
- package/dist/types/svm/utils/events.d.ts +9 -1
- package/dist/types/svm/utils/events.d.ts.map +1 -1
- package/dist/types/svm/utils/index.d.ts +2 -0
- package/dist/types/svm/utils/index.d.ts.map +1 -0
- package/dist/types/utils/DepositUtils.d.ts +1 -0
- package/dist/types/utils/DepositUtils.d.ts.map +1 -1
- package/dist/types/utils/TokenUtils.d.ts +1 -0
- package/dist/types/utils/TokenUtils.d.ts.map +1 -1
- package/dist/types/utils/common.d.ts +2 -0
- package/dist/types/utils/common.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/addressAggregator/adapters/abstract.ts +74 -0
- package/src/addressAggregator/adapters/bybit.ts +10 -11
- package/src/addressAggregator/adapters/env.ts +10 -10
- package/src/addressAggregator/adapters/file.ts +11 -12
- package/src/addressAggregator/adapters/risklabs.ts +14 -13
- package/src/addressAggregator/index.ts +2 -2
- package/src/addressAggregator/types.ts +10 -1
- package/src/clients/BundleDataClient/BundleDataClient.ts +28 -18
- package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +29 -0
- package/src/clients/BundleDataClient/utils/FillUtils.ts +128 -71
- package/src/clients/HubPoolClient.ts +38 -14
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +40 -14
- package/src/clients/mocks/MockHubPoolClient.ts +16 -0
- package/src/constants.ts +13 -0
- package/src/svm/eventsClient.ts +6 -12
- package/src/svm/index.ts +2 -0
- package/src/svm/utils/events.ts +16 -4
- package/src/svm/utils/index.ts +1 -0
- package/src/utils/DepositUtils.ts +6 -1
- package/src/utils/TokenUtils.ts +6 -0
- package/src/utils/common.ts +2 -0
- package/dist/cjs/addressAggregator/adapters/util.d.ts +0 -4
- package/dist/cjs/addressAggregator/adapters/util.js +0 -66
- package/dist/cjs/addressAggregator/adapters/util.js.map +0 -1
- package/dist/esm/addressAggregator/adapters/util.d.ts +0 -4
- package/dist/esm/addressAggregator/adapters/util.js +0 -60
- package/dist/esm/addressAggregator/adapters/util.js.map +0 -1
- package/dist/types/addressAggregator/adapters/util.d.ts +0 -5
- package/dist/types/addressAggregator/adapters/util.d.ts.map +0 -1
- 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":"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"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export declare class AddressList
|
|
4
|
-
|
|
5
|
-
|
|
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 {
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
this.
|
|
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 (
|
|
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.
|
|
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*/,
|
|
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,
|
|
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 {
|
|
2
|
-
import {
|
|
3
|
-
export declare class AddressList
|
|
4
|
-
|
|
5
|
-
|
|
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 {
|
|
3
|
+
import { AbstractAdapter } from "./abstract";
|
|
3
4
|
var envConfig = defaulted(array(string()), []);
|
|
4
|
-
var AddressList = /** @class */ (function () {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
this.name
|
|
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 (
|
|
11
|
-
var config = process.env[this.
|
|
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
|
|
20
|
+
return this.error("Address format validation failure.");
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
catch (err) {
|
|
23
|
-
return
|
|
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,
|
|
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 {
|
|
2
|
-
import {
|
|
3
|
-
export declare class AddressList
|
|
4
|
-
|
|
5
|
-
|
|
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 {
|
|
4
|
+
import { AbstractAdapter } from "./abstract";
|
|
5
5
|
var fileConfig = defaulted(array(string()), []);
|
|
6
|
-
var AddressList = /** @class */ (function () {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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 (
|
|
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*/,
|
|
26
|
+
return [2 /*return*/, this.error(err_1)];
|
|
26
27
|
case 3:
|
|
27
28
|
if (!data) {
|
|
28
|
-
return [2 /*return*/,
|
|
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*/,
|
|
34
|
+
return [2 /*return*/, this.error("Address format validation failure.")];
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
catch (err) {
|
|
37
|
-
return [2 /*return*/,
|
|
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,
|
|
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 {
|
|
2
|
-
import {
|
|
3
|
-
export declare class AddressList
|
|
4
|
-
|
|
5
|
-
|
|
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 {
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
this.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 (
|
|
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:
|
|
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*/,
|
|
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,
|
|
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(
|
|
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":";AAAA,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAU,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAsB,eAAe,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;4BAEb,YAAY;uBAA1B,QAAQ;AAEpB;IACE,2BACW,QAA8B,EACpB,MAAe;QADzB,aAAQ,GAAR,QAAQ,CAAsB;QACpB,WAAM,GAAN,MAAM,CAAS;IACjC,CAAC;IAEG,yBAAO,GAAd;QACE,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEK,kCAAM,GAAZ;;;;;;;;wBACE,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CAAC;4BACjB,EAAE,EAAE,2BAA2B;4BAC/B,OAAO,EAAE,qBAAqB;4BAC9B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,IAAI,EAAZ,CAAY,CAAC;4BACrD,gBAAgB,EAAE,iBAAiB,CAAC,OAAO,EAAE;yBAC9C,CAAC,CAAC;wBAEkB,qBAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAO,OAAO;;;;;;4CACzD,gBAAgB,GAAa,EAAE,CAAC;4CACnB,qBAAM,OAAO,CAAC,MAAM,
|
|
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(
|
|
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":"
|
|
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,
|
|
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) {
|
|
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] &&
|
|
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,
|
|
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,
|
|
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) {
|