@across-protocol/sdk 3.4.13 → 3.4.15
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/clients/BundleDataClient/BundleDataClient.js +23 -6
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient.js +3 -3
- package/dist/cjs/clients/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/utils/AddressUtils.d.ts +1 -0
- package/dist/cjs/utils/AddressUtils.js +14 -1
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/CachingUtils.js +1 -1
- package/dist/cjs/utils/CachingUtils.js.map +1 -1
- package/dist/cjs/utils/DepositUtils.d.ts +2 -1
- package/dist/cjs/utils/DepositUtils.js +12 -3
- package/dist/cjs/utils/DepositUtils.js.map +1 -1
- package/dist/cjs/utils/NetworkUtils.d.ts +1 -0
- package/dist/cjs/utils/NetworkUtils.js +6 -1
- package/dist/cjs/utils/NetworkUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.js +3 -3
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +30 -7
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient.js +3 -3
- package/dist/esm/clients/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/utils/AddressUtils.d.ts +1 -0
- package/dist/esm/utils/AddressUtils.js +16 -0
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/CachingUtils.js +1 -1
- package/dist/esm/utils/CachingUtils.js.map +1 -1
- package/dist/esm/utils/DepositUtils.d.ts +2 -1
- package/dist/esm/utils/DepositUtils.js +12 -3
- package/dist/esm/utils/DepositUtils.js.map +1 -1
- package/dist/esm/utils/NetworkUtils.d.ts +6 -0
- package/dist/esm/utils/NetworkUtils.js +10 -0
- package/dist/esm/utils/NetworkUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.js +4 -4
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
- package/dist/types/utils/AddressUtils.d.ts +1 -0
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/DepositUtils.d.ts +2 -1
- package/dist/types/utils/DepositUtils.d.ts.map +1 -1
- package/dist/types/utils/NetworkUtils.d.ts +6 -0
- package/dist/types/utils/NetworkUtils.d.ts.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/clients/BundleDataClient/BundleDataClient.ts +29 -1
- package/src/clients/SpokePoolClient.ts +3 -3
- package/src/clients/mocks/MockSpokePoolClient.ts +1 -1
- package/src/utils/AddressUtils.ts +16 -0
- package/src/utils/CachingUtils.ts +1 -1
- package/src/utils/DepositUtils.ts +12 -3
- package/src/utils/NetworkUtils.ts +11 -0
- package/src/utils/SpokeUtils.ts +6 -4
|
@@ -3,7 +3,8 @@ import { CachingMechanismInterface, Deposit, DepositWithBlock, Fill, SlowFillReq
|
|
|
3
3
|
export declare enum InvalidFill {
|
|
4
4
|
DepositIdInvalid = 0,
|
|
5
5
|
DepositIdNotFound = 1,
|
|
6
|
-
FillMismatch = 2
|
|
6
|
+
FillMismatch = 2,
|
|
7
|
+
DepositIdOutOfRange = 3
|
|
7
8
|
}
|
|
8
9
|
export type DepositSearchResult = {
|
|
9
10
|
found: true;
|
|
@@ -4,6 +4,7 @@ import { DEFAULT_CACHING_TTL, EMPTY_MESSAGE } from "../constants";
|
|
|
4
4
|
import { getNetworkName } from "./NetworkUtils";
|
|
5
5
|
import { getDepositInCache, getDepositKey, setDepositInCache } from "./CachingUtils";
|
|
6
6
|
import { validateFillForDeposit } from "./FlowUtils";
|
|
7
|
+
import { isUnsafeDepositId } from "./SpokeUtils";
|
|
7
8
|
import { getCurrentTime } from "./TimeUtils";
|
|
8
9
|
import { isDefined } from "./TypeGuards";
|
|
9
10
|
import { isDepositFormedCorrectly } from "./ValidatorUtils";
|
|
@@ -15,6 +16,7 @@ export var InvalidFill;
|
|
|
15
16
|
InvalidFill[InvalidFill["DepositIdInvalid"] = 0] = "DepositIdInvalid";
|
|
16
17
|
InvalidFill[InvalidFill["DepositIdNotFound"] = 1] = "DepositIdNotFound";
|
|
17
18
|
InvalidFill[InvalidFill["FillMismatch"] = 2] = "FillMismatch";
|
|
19
|
+
InvalidFill[InvalidFill["DepositIdOutOfRange"] = 3] = "DepositIdOutOfRange";
|
|
18
20
|
})(InvalidFill || (InvalidFill = {}));
|
|
19
21
|
/**
|
|
20
22
|
* Attempts to resolve a deposit for a fill. If the fill's deposit Id is within the spoke pool client's search range,
|
|
@@ -34,6 +36,13 @@ export function queryHistoricalDepositForFill(spokePoolClient, fill, cache) {
|
|
|
34
36
|
return __generator(this, function (_a) {
|
|
35
37
|
switch (_a.label) {
|
|
36
38
|
case 0:
|
|
39
|
+
if (isUnsafeDepositId(fill.depositId)) {
|
|
40
|
+
return [2 /*return*/, {
|
|
41
|
+
found: false,
|
|
42
|
+
code: InvalidFill.DepositIdOutOfRange,
|
|
43
|
+
reason: "Cannot find historical deposit for fill with unsafe deposit ID ".concat(fill.depositId, "."),
|
|
44
|
+
}];
|
|
45
|
+
}
|
|
37
46
|
if (fill.originChainId !== spokePoolClient.chainId) {
|
|
38
47
|
throw new Error("OriginChainId mismatch (".concat(fill.originChainId, " != ").concat(spokePoolClient.chainId, ")"));
|
|
39
48
|
}
|
|
@@ -48,7 +57,7 @@ export function queryHistoricalDepositForFill(spokePoolClient, fill, cache) {
|
|
|
48
57
|
return [2 /*return*/, {
|
|
49
58
|
found: false,
|
|
50
59
|
code: InvalidFill.DepositIdInvalid,
|
|
51
|
-
reason: "Deposit ID ".concat(depositId, " is outside of SpokePool bounds [").concat(lowId, ",").concat(highId, "]."),
|
|
60
|
+
reason: "Deposit ID ".concat(depositId.toString(), " is outside of SpokePool bounds [").concat(lowId, ",").concat(highId, "]."),
|
|
52
61
|
}];
|
|
53
62
|
}
|
|
54
63
|
(lowId = spokePoolClient.earliestDepositIdQueried, highId = spokePoolClient.latestDepositIdQueried);
|
|
@@ -63,13 +72,13 @@ export function queryHistoricalDepositForFill(spokePoolClient, fill, cache) {
|
|
|
63
72
|
return [2 /*return*/, {
|
|
64
73
|
found: false,
|
|
65
74
|
code: InvalidFill.FillMismatch,
|
|
66
|
-
reason: "Fill for ".concat(originChain, " deposit ID ").concat(depositId, " is invalid (").concat(match_1.reason, ")."),
|
|
75
|
+
reason: "Fill for ".concat(originChain, " deposit ID ").concat(depositId.toString(), " is invalid (").concat(match_1.reason, ")."),
|
|
67
76
|
}];
|
|
68
77
|
}
|
|
69
78
|
return [2 /*return*/, {
|
|
70
79
|
found: false,
|
|
71
80
|
code: InvalidFill.DepositIdNotFound,
|
|
72
|
-
reason: "".concat(originChain, " deposit ID ").concat(depositId, " not found in SpokePoolClient event buffer."),
|
|
81
|
+
reason: "".concat(originChain, " deposit ID ").concat(depositId.toString(), " not found in SpokePoolClient event buffer."),
|
|
73
82
|
}];
|
|
74
83
|
}
|
|
75
84
|
if (!cache) return [3 /*break*/, 2];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositUtils.js","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,4FAA4F;AAC5F,gGAAgG;AAChG,yDAAyD;AAEzD,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"DepositUtils.js","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,4FAA4F;AAC5F,gGAAgG;AAChG,yDAAyD;AAEzD,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,qEAAoB,CAAA;IACpB,uEAAiB,CAAA;IACjB,6DAAY,CAAA;IACZ,2EAAmB,CAAA;AACrB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAMD;;;;;;;;;;;GAWG;AACH,MAAM,UAAgB,6BAA6B,CACjD,eAAgC,EAChC,IAA4B,EAC5B,KAAiC;;;;;;oBAEjC,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;wBACrC,sBAAO;gCACL,KAAK,EAAE,KAAK;gCACZ,IAAI,EAAE,WAAW,CAAC,mBAAmB;gCACrC,MAAM,EAAE,yEAAkE,IAAI,CAAC,SAAS,MAAG;6BAC5F,EAAC;qBACH;oBACD,IAAI,IAAI,CAAC,aAAa,KAAK,eAAe,CAAC,OAAO,EAAE;wBAClD,MAAM,IAAI,KAAK,CAAC,kCAA2B,IAAI,CAAC,aAAa,iBAAO,eAAe,CAAC,OAAO,MAAG,CAAC,CAAC;qBACjG;oBAED,kHAAkH;oBAClH,iEAAiE;oBACjE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE;wBAC9B,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;qBACxF;oBAEO,SAAS,GAAK,IAAI,UAAT,CAAU;oBACO,KAAK,GAAwC,eAAe,2BAAvD,EAA6B,MAAM,GAAK,eAAe,0BAApB,CAAqB;oBAC/F,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;wBAC/C,sBAAO;gCACL,KAAK,EAAE,KAAK;gCACZ,IAAI,EAAE,WAAW,CAAC,gBAAgB;gCAClC,MAAM,EAAE,qBAAc,SAAS,CAAC,QAAQ,EAAE,8CAAoC,KAAK,cAAI,MAAM,OAAI;6BAClG,EAAC;qBACH;oBAED,CAA6B,KAAK,GAAqC,eAAe,yBAApD,EAA0B,MAAM,GAAK,eAAe,uBAApB,CAAqB,CAAC;oBACxF,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;wBAC3C,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBACjD,YAAU,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;wBACtD,IAAI,SAAS,CAAC,SAAO,CAAC,EAAE;4BAChB,UAAQ,sBAAsB,CAAC,IAAI,EAAE,SAAO,CAAC,CAAC;4BACpD,IAAI,OAAK,CAAC,KAAK,EAAE;gCACf,sBAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,WAAA,EAAE,EAAC;6BACjC;4BAED,sBAAO;oCACL,KAAK,EAAE,KAAK;oCACZ,IAAI,EAAE,WAAW,CAAC,YAAY;oCAC9B,MAAM,EAAE,mBAAY,WAAW,yBAAe,SAAS,CAAC,QAAQ,EAAE,0BAAgB,OAAK,CAAC,MAAM,OAAI;iCACnG,EAAC;yBACH;wBAED,sBAAO;gCACL,KAAK,EAAE,KAAK;gCACZ,IAAI,EAAE,WAAW,CAAC,iBAAiB;gCACnC,MAAM,EAAE,UAAG,WAAW,yBAAe,SAAS,CAAC,QAAQ,EAAE,gDAA6C;6BACvG,EAAC;qBACH;yBAGG,KAAK,EAAL,wBAAK;oBACS,qBAAM,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,EAAA;;oBAAnE,aAAa,GAAG,SAAmD,CAAC;oBACpE,2DAA2D;oBAC3D,eAAe;oBACf,gCAAgC;oBAChC,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,EAAE;wBACxE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;4BAC1B,EAAE,EAAE,kDAAkD;4BACtD,OAAO,EAAE,8DAA8D;4BACvE,IAAI,MAAA;4BACJ,aAAa,eAAA;yBACd,CAAC,CAAC;wBACH,iEAAiE;wBACjE,mEAAmE;wBACnE,+CAA+C;wBAC/C,aAAa,GAAG,SAAS,CAAC;qBAC3B;;;yBAGC,SAAS,CAAC,aAAa,CAAC,EAAxB,wBAAwB;oBAC1B,OAAO,GAAG,aAAiC,CAAC;;wBAElC,qBAAM,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAA;;oBAApF,OAAO,GAAG,SAA0E,CAAC;yBACjF,KAAK,EAAL,wBAAK;oBACP,qBAAM,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAA;;oBAA9E,SAA8E,CAAC;;;oBAI7E,KAAK,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACpD,IAAI,KAAK,CAAC,KAAK,EAAE;wBACf,sBAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,SAAA,EAAE,EAAC;qBACjC;oBAED,sBAAO;4BACL,KAAK,EAAE,KAAK;4BACZ,IAAI,EAAE,WAAW,CAAC,YAAY;4BAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;yBACrB,EAAC;;;;CACH;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAiD;IAClF,OAAO,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAuB;IAAvB,wBAAA,EAAA,uBAAuB;IACpD,OAAO,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,IAAI,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,OAAO,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,IAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACpF,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iEAAiE;IAC7F,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -76,6 +76,12 @@ export declare function chainIsLinea(chainId: number): boolean;
|
|
|
76
76
|
* @returns True if chain corresponding to chainId has a hub pool implementation.
|
|
77
77
|
*/
|
|
78
78
|
export declare function chainIsL1(chainId: number): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Determines whether a chain ID runs on an EVM-like execution layer.
|
|
81
|
+
* @param chainId Chain ID to evaluate.
|
|
82
|
+
* @returns True if chain corresponding to chainId has an EVM-like execution layer.
|
|
83
|
+
*/
|
|
84
|
+
export declare function chainIsEvm(chainId: number): boolean;
|
|
79
85
|
/**
|
|
80
86
|
* Determines whether a chain ID has the capacity for having its USDC bridged via CCTP.
|
|
81
87
|
* @param chainId Chain ID to evaluate.
|
|
@@ -113,6 +113,16 @@ export function chainIsLinea(chainId) {
|
|
|
113
113
|
export function chainIsL1(chainId) {
|
|
114
114
|
return [CHAIN_IDs.MAINNET, CHAIN_IDs.SEPOLIA].includes(chainId);
|
|
115
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Determines whether a chain ID runs on an EVM-like execution layer.
|
|
118
|
+
* @param chainId Chain ID to evaluate.
|
|
119
|
+
* @returns True if chain corresponding to chainId has an EVM-like execution layer.
|
|
120
|
+
*/
|
|
121
|
+
export function chainIsEvm(chainId) {
|
|
122
|
+
chainId;
|
|
123
|
+
// TODO: Fix when we support non-EVM chains.
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
116
126
|
/**
|
|
117
127
|
* Determines whether a chain ID has the capacity for having its USDC bridged via CCTP.
|
|
118
128
|
* @param chainId Chain ID to evaluate.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkUtils.js","sourceRoot":"","sources":["../../../src/utils/NetworkUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NetworkUtils.js","sourceRoot":"","sources":["../../../src/utils/NetworkUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,7 +132,7 @@ export function getBlockRangeForDepositId(targetDepositId, initLow, initHigh, ma
|
|
|
132
132
|
// // targetId = 1 <- fail (triggers this error)
|
|
133
133
|
// // targetId = 2 <- pass (does not trigger this error)
|
|
134
134
|
// // targetId = 3 <- pass (does not trigger this error)
|
|
135
|
-
throw new Error("Target depositId is less than the initial low block (".concat(targetDepositId, " > ").concat(lowestDepositIdInRange, ")"));
|
|
135
|
+
throw new Error("Target depositId is less than the initial low block (".concat(targetDepositId.toString(), " > ").concat(lowestDepositIdInRange, ")"));
|
|
136
136
|
}
|
|
137
137
|
low = initLow;
|
|
138
138
|
high = initHigh;
|
|
@@ -186,7 +186,7 @@ export function getDepositIdAtBlock(contract, blockTag) {
|
|
|
186
186
|
case 1:
|
|
187
187
|
_depositIdAtBlock = _a.sent();
|
|
188
188
|
depositIdAtBlock = toBN(_depositIdAtBlock);
|
|
189
|
-
// Sanity check to ensure that the deposit ID is
|
|
189
|
+
// Sanity check to ensure that the deposit ID is greater than or equal to zero.
|
|
190
190
|
if (depositIdAtBlock.lt(bnZero)) {
|
|
191
191
|
throw new Error("Invalid deposit count");
|
|
192
192
|
}
|
|
@@ -261,7 +261,7 @@ export function relayFillStatus(spokePool, relayData, blockTag, destinationChain
|
|
|
261
261
|
fillStatus = Number(_fillStatus);
|
|
262
262
|
if (![FillStatus.Unfilled, FillStatus.RequestedSlowFill, FillStatus.Filled].includes(fillStatus)) {
|
|
263
263
|
originChainId = relayData.originChainId, depositId = relayData.depositId;
|
|
264
|
-
throw new Error("relayFillStatus: Unexpected fillStatus for ".concat(originChainId, " deposit ").concat(depositId, " (").concat(fillStatus, ")"));
|
|
264
|
+
throw new Error("relayFillStatus: Unexpected fillStatus for ".concat(originChainId, " deposit ").concat(depositId.toString(), " (").concat(fillStatus, ")"));
|
|
265
265
|
}
|
|
266
266
|
return [2 /*return*/, fillStatus];
|
|
267
267
|
}
|
|
@@ -357,7 +357,7 @@ export function findFillBlock(spokePool, relayData, lowBlockNumber, highBlockNum
|
|
|
357
357
|
if (initialFillStatus === FillStatus.Filled) {
|
|
358
358
|
depositId = relayData.depositId, originChainId = relayData.originChainId;
|
|
359
359
|
_e = [getNetworkName(originChainId), getNetworkName(destinationChainId)], srcChain = _e[0], dstChain = _e[1];
|
|
360
|
-
throw new Error("".concat(srcChain, " deposit ").concat(depositId, " filled on ").concat(dstChain, " before block ").concat(lowBlockNumber));
|
|
360
|
+
throw new Error("".concat(srcChain, " deposit ").concat(depositId.toString(), " filled on ").concat(dstChain, " before block ").concat(lowBlockNumber));
|
|
361
361
|
}
|
|
362
362
|
_f.label = 9;
|
|
363
363
|
case 9:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BundleDataClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/BundleDataClient/BundleDataClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAElB,uBAAuB,EAGvB,mBAAmB,EAOnB,OAAO,EACP,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA2B,eAAe,EAAE,MAAM,IAAI,CAAC;AAC9D,OAAO,EACL,SAAS,
|
|
1
|
+
{"version":3,"file":"BundleDataClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/BundleDataClient/BundleDataClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,4 +8,5 @@ import { providers } from "ethers";
|
|
|
8
8
|
export declare function isContractDeployedToAddress(address: string, provider: providers.Provider): Promise<boolean>;
|
|
9
9
|
export declare function compareAddresses(addressA: string, addressB: string): 1 | -1 | 0;
|
|
10
10
|
export declare function compareAddressesSimple(addressA?: string, addressB?: string): boolean;
|
|
11
|
+
export declare function isValidEvmAddress(address: string): boolean;
|
|
11
12
|
//# sourceMappingURL=AddressUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,QAAQ,CAAC;AAG1C;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CASjH;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAY/E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAKpF"}
|
|
1
|
+
{"version":3,"file":"AddressUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,QAAQ,CAAC;AAG1C;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CASjH;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAY/E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAKpF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAc1D"}
|
|
@@ -3,7 +3,8 @@ import { CachingMechanismInterface, Deposit, DepositWithBlock, Fill, SlowFillReq
|
|
|
3
3
|
export declare enum InvalidFill {
|
|
4
4
|
DepositIdInvalid = 0,
|
|
5
5
|
DepositIdNotFound = 1,
|
|
6
|
-
FillMismatch = 2
|
|
6
|
+
FillMismatch = 2,
|
|
7
|
+
DepositIdOutOfRange = 3
|
|
7
8
|
}
|
|
8
9
|
export type DepositSearchResult = {
|
|
9
10
|
found: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"DepositUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAa5G,oBAAY,WAAW;IACrB,gBAAgB,IAAI;IACpB,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,mBAAmB,IAAA;CACpB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,GAAG,eAAe,EAC5B,KAAK,CAAC,EAAE,yBAAyB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CA2F9B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,GAAG,OAAO,CAE7F;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAgB,GAAG,OAAO,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAI9D"}
|
|
@@ -76,6 +76,12 @@ export declare function chainIsLinea(chainId: number): boolean;
|
|
|
76
76
|
* @returns True if chain corresponding to chainId has a hub pool implementation.
|
|
77
77
|
*/
|
|
78
78
|
export declare function chainIsL1(chainId: number): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Determines whether a chain ID runs on an EVM-like execution layer.
|
|
81
|
+
* @param chainId Chain ID to evaluate.
|
|
82
|
+
* @returns True if chain corresponding to chainId has an EVM-like execution layer.
|
|
83
|
+
*/
|
|
84
|
+
export declare function chainIsEvm(chainId: number): boolean;
|
|
79
85
|
/**
|
|
80
86
|
* Determines whether a chain ID has the capacity for having its USDC bridged via CCTP.
|
|
81
87
|
* @param chainId Chain ID to evaluate.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/NetworkUtils.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAGjE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAErE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAa3D;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD"}
|
|
1
|
+
{"version":3,"file":"NetworkUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/NetworkUtils.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAGjE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAErE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAInD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAa3D;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAwB,MAAM,QAAQ,CAAC;AAEpG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAuB,MAAM,kBAAkB,CAAC;AAIlE,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AAEnC;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,gBAAgB,SAA6B,GAC5C,OAAO,CAAC,oBAAoB,CAAC,CA+B/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,yBAAyB,CAC7C,eAAe,EAAE,SAAS,EAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAwHD;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAQlG;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAuBzF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,eAAe,GAAG,MAAM,CAEjF;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQ/D;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,EAC5B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAwB,MAAM,QAAQ,CAAC;AAEpG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAuB,MAAM,kBAAkB,CAAC;AAIlE,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AAEnC;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,gBAAgB,SAA6B,GAC5C,OAAO,CAAC,oBAAoB,CAAC,CA+B/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,yBAAyB,CAC7C,eAAe,EAAE,SAAS,EAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAwHD;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAQlG;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAuBzF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,eAAe,GAAG,MAAM,CAEjF;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQ/D;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,EAC5B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,UAAU,CAAC,CAcrB;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,SAAS,EAAE,EACtB,QAAQ,GAAE,QAAmB,GAC5B,OAAO,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CA8BrC;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiD7B;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD"}
|
package/package.json
CHANGED
|
@@ -32,6 +32,8 @@ import {
|
|
|
32
32
|
mapAsync,
|
|
33
33
|
bnUint32Max,
|
|
34
34
|
isZeroValueDeposit,
|
|
35
|
+
chainIsEvm,
|
|
36
|
+
isValidEvmAddress,
|
|
35
37
|
} from "../../utils";
|
|
36
38
|
import winston from "winston";
|
|
37
39
|
import {
|
|
@@ -55,6 +57,10 @@ type DataCache = Record<string, Promise<LoadDataReturnValue>>;
|
|
|
55
57
|
|
|
56
58
|
// V3 dictionary helper functions
|
|
57
59
|
function updateExpiredDepositsV3(dict: ExpiredDepositsToRefundV3, deposit: V3DepositWithBlock): void {
|
|
60
|
+
// A deposit refund for a deposit is invalid if the depositor has a bytes32 address input for an EVM chain. It is valid otherwise.
|
|
61
|
+
if (chainIsEvm(deposit.originChainId) && !isValidEvmAddress(deposit.depositor)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
58
64
|
const { originChainId, inputToken } = deposit;
|
|
59
65
|
if (!dict?.[originChainId]?.[inputToken]) {
|
|
60
66
|
assign(dict, [originChainId, inputToken], []);
|
|
@@ -77,6 +83,10 @@ function updateBundleFillsV3(
|
|
|
77
83
|
repaymentChainId: number,
|
|
78
84
|
repaymentToken: string
|
|
79
85
|
): void {
|
|
86
|
+
// It is impossible to refund a deposit if the repayment chain is EVM and the relayer is a non-evm address.
|
|
87
|
+
if (chainIsEvm(fill.repaymentChainId) && !isValidEvmAddress(fill.relayer)) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
80
90
|
if (!dict?.[repaymentChainId]?.[repaymentToken]) {
|
|
81
91
|
assign(dict, [repaymentChainId, repaymentToken], {
|
|
82
92
|
fills: [],
|
|
@@ -807,6 +817,8 @@ export class BundleDataClient {
|
|
|
807
817
|
|
|
808
818
|
// If deposit block is within origin chain bundle block range, then save as bundle deposit.
|
|
809
819
|
// If deposit is in bundle and it has expired, additionally save it as an expired deposit.
|
|
820
|
+
// Note: if the `depositor` field in the expired deposit is an invalid address, e.g. a bytes32 address on an EVM
|
|
821
|
+
// chain, then the deposit refund is invalid and ignored.
|
|
810
822
|
// If deposit is not in the bundle block range, then save it as an older deposit that
|
|
811
823
|
// may have expired.
|
|
812
824
|
if (deposit.blockNumber >= originChainBlockRange[0] && deposit.blockNumber <= originChainBlockRange[1]) {
|
|
@@ -914,6 +926,18 @@ export class BundleDataClient {
|
|
|
914
926
|
bundleInvalidFillsV3.push(fill);
|
|
915
927
|
return;
|
|
916
928
|
}
|
|
929
|
+
// If the fill's repayment address is not a valid EVM address and the repayment chain is an EVM chain, the fill is invalid.
|
|
930
|
+
if (chainIsEvm(fill.repaymentChainId) && !isValidEvmAddress(fill.relayer)) {
|
|
931
|
+
const fillTransaction = await originClient.spokePool.provider.getTransaction(fill.transactionHash);
|
|
932
|
+
const originRelayer = fillTransaction.from;
|
|
933
|
+
// Repayment chain is still an EVM chain, but the msg.sender is a bytes32 address, so the fill is invalid.
|
|
934
|
+
if (!isValidEvmAddress(originRelayer)) {
|
|
935
|
+
bundleInvalidFillsV3.push(fill);
|
|
936
|
+
return;
|
|
937
|
+
}
|
|
938
|
+
// Otherwise, assume the relayer to be repaid is the msg.sender.
|
|
939
|
+
fill.relayer = originRelayer;
|
|
940
|
+
}
|
|
917
941
|
// If deposit is using the deterministic relay hash feature, then the following binary search-based
|
|
918
942
|
// algorithm will not work. However, it is impossible to emit an infinite fill deadline using
|
|
919
943
|
// the unsafeDepositV3 function so there is no need to catch the special case.
|
|
@@ -1311,7 +1335,11 @@ export class BundleDataClient {
|
|
|
1311
1335
|
// spoke pool contract. However, this internal function is used to uniquely identify a bridging event
|
|
1312
1336
|
// for speed since its easier to build a string from the event data than to hash it.
|
|
1313
1337
|
private getRelayHashFromEvent(event: V3DepositWithBlock | V3FillWithBlock | SlowFillRequestWithBlock): string {
|
|
1314
|
-
return `${event.depositor}-${event.recipient}-${event.exclusiveRelayer}-${event.inputToken}-${event.outputToken}-${
|
|
1338
|
+
return `${event.depositor}-${event.recipient}-${event.exclusiveRelayer}-${event.inputToken}-${event.outputToken}-${
|
|
1339
|
+
event.inputAmount
|
|
1340
|
+
}-${event.outputAmount}-${event.originChainId}-${event.depositId.toString()}-${event.fillDeadline}-${
|
|
1341
|
+
event.exclusivityDeadline
|
|
1342
|
+
}-${event.message}-${event.destinationChainId}`;
|
|
1315
1343
|
}
|
|
1316
1344
|
|
|
1317
1345
|
async getBundleBlockTimestamps(
|
|
@@ -315,7 +315,7 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
315
315
|
|
|
316
316
|
this.logger.debug({
|
|
317
317
|
at: "SpokePoolClient::getDepositForFill",
|
|
318
|
-
message: `Rejected fill for ${getNetworkName(fill.originChainId)} deposit ${fill.depositId}.`,
|
|
318
|
+
message: `Rejected fill for ${getNetworkName(fill.originChainId)} deposit ${fill.depositId.toString()}.`,
|
|
319
319
|
reason: match.reason,
|
|
320
320
|
deposit,
|
|
321
321
|
fill,
|
|
@@ -399,7 +399,7 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
399
399
|
* @note This hash takes the form of: `${depositId}-${originChainId}`.
|
|
400
400
|
*/
|
|
401
401
|
public getDepositHash(event: { depositId: BigNumber; originChainId: number }): string {
|
|
402
|
-
return `${event.depositId}-${event.originChainId}`;
|
|
402
|
+
return `${event.depositId.toString()}-${event.originChainId}`;
|
|
403
403
|
}
|
|
404
404
|
|
|
405
405
|
/**
|
|
@@ -816,7 +816,7 @@ export class SpokePoolClient extends BaseAbstractClient {
|
|
|
816
816
|
const srcChain = getNetworkName(this.chainId);
|
|
817
817
|
const dstChain = getNetworkName(destinationChainId);
|
|
818
818
|
throw new Error(
|
|
819
|
-
`Could not find deposit ${depositId} for ${dstChain} fill` +
|
|
819
|
+
`Could not find deposit ${depositId.toString()} for ${dstChain} fill` +
|
|
820
820
|
` between ${srcChain} blocks [${searchBounds.low}, ${searchBounds.high}]`
|
|
821
821
|
);
|
|
822
822
|
}
|
|
@@ -122,7 +122,7 @@ export class MockSpokePoolClient extends SpokePoolClient {
|
|
|
122
122
|
const { blockNumber, transactionIndex } = deposit;
|
|
123
123
|
let { depositId, depositor, destinationChainId, inputToken, inputAmount, outputToken, outputAmount } = deposit;
|
|
124
124
|
depositId ??= this.numberOfDeposits;
|
|
125
|
-
assert(depositId.gte(this.numberOfDeposits), `${depositId} < ${this.numberOfDeposits}`);
|
|
125
|
+
assert(depositId.gte(this.numberOfDeposits), `${depositId.toString()} < ${this.numberOfDeposits}`);
|
|
126
126
|
this.numberOfDeposits = depositId.add(bnOne);
|
|
127
127
|
|
|
128
128
|
destinationChainId ??= random(1, 42161, false);
|
|
@@ -38,3 +38,19 @@ export function compareAddressesSimple(addressA?: string, addressB?: string): bo
|
|
|
38
38
|
}
|
|
39
39
|
return addressA.toLowerCase() === addressB.toLowerCase();
|
|
40
40
|
}
|
|
41
|
+
|
|
42
|
+
export function isValidEvmAddress(address: string): boolean {
|
|
43
|
+
if (utils.isAddress(address)) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
// We may throw an error here if hexZeroPadFails. This will happen if the address to pad is greater than 20 bytes long, indicating
|
|
47
|
+
// that the address had less than 12 leading zero bytes.
|
|
48
|
+
// We may also throw at getAddress if the input cannot be converted into a checksummed EVM address for some reason.
|
|
49
|
+
// For both cases, this indicates that the address cannot be casted as a bytes20 EVM address, so we should return false.
|
|
50
|
+
try {
|
|
51
|
+
const evmAddress = utils.hexZeroPad(utils.hexStripZeros(address), 20);
|
|
52
|
+
return utils.isAddress(utils.getAddress(evmAddress));
|
|
53
|
+
} catch (_e) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -52,5 +52,5 @@ export async function setDepositInCache(
|
|
|
52
52
|
*/
|
|
53
53
|
export function getDepositKey(bridgeEvent: Deposit | Fill | SlowFillRequest): string {
|
|
54
54
|
const relayHash = getRelayHashFromEvent(bridgeEvent);
|
|
55
|
-
return `deposit_${bridgeEvent.originChainId}_${bridgeEvent.depositId}_${relayHash}`;
|
|
55
|
+
return `deposit_${bridgeEvent.originChainId}_${bridgeEvent.depositId.toString()}_${relayHash}`;
|
|
56
56
|
}
|
|
@@ -5,6 +5,7 @@ import { CachingMechanismInterface, Deposit, DepositWithBlock, Fill, SlowFillReq
|
|
|
5
5
|
import { getNetworkName } from "./NetworkUtils";
|
|
6
6
|
import { getDepositInCache, getDepositKey, setDepositInCache } from "./CachingUtils";
|
|
7
7
|
import { validateFillForDeposit } from "./FlowUtils";
|
|
8
|
+
import { isUnsafeDepositId } from "./SpokeUtils";
|
|
8
9
|
import { getCurrentTime } from "./TimeUtils";
|
|
9
10
|
import { isDefined } from "./TypeGuards";
|
|
10
11
|
import { isDepositFormedCorrectly } from "./ValidatorUtils";
|
|
@@ -17,6 +18,7 @@ export enum InvalidFill {
|
|
|
17
18
|
DepositIdInvalid = 0, // Deposit ID seems invalid for origin SpokePool
|
|
18
19
|
DepositIdNotFound, // Deposit ID not found (bad RPC data?)
|
|
19
20
|
FillMismatch, // Fill does not match deposit parameters for deposit ID.
|
|
21
|
+
DepositIdOutOfRange, // Fill is for a deterministic deposit.
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
export type DepositSearchResult =
|
|
@@ -40,6 +42,13 @@ export async function queryHistoricalDepositForFill(
|
|
|
40
42
|
fill: Fill | SlowFillRequest,
|
|
41
43
|
cache?: CachingMechanismInterface
|
|
42
44
|
): Promise<DepositSearchResult> {
|
|
45
|
+
if (isUnsafeDepositId(fill.depositId)) {
|
|
46
|
+
return {
|
|
47
|
+
found: false,
|
|
48
|
+
code: InvalidFill.DepositIdOutOfRange,
|
|
49
|
+
reason: `Cannot find historical deposit for fill with unsafe deposit ID ${fill.depositId}.`,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
43
52
|
if (fill.originChainId !== spokePoolClient.chainId) {
|
|
44
53
|
throw new Error(`OriginChainId mismatch (${fill.originChainId} != ${spokePoolClient.chainId})`);
|
|
45
54
|
}
|
|
@@ -56,7 +65,7 @@ export async function queryHistoricalDepositForFill(
|
|
|
56
65
|
return {
|
|
57
66
|
found: false,
|
|
58
67
|
code: InvalidFill.DepositIdInvalid,
|
|
59
|
-
reason: `Deposit ID ${depositId} is outside of SpokePool bounds [${lowId},${highId}].`,
|
|
68
|
+
reason: `Deposit ID ${depositId.toString()} is outside of SpokePool bounds [${lowId},${highId}].`,
|
|
60
69
|
};
|
|
61
70
|
}
|
|
62
71
|
|
|
@@ -73,14 +82,14 @@ export async function queryHistoricalDepositForFill(
|
|
|
73
82
|
return {
|
|
74
83
|
found: false,
|
|
75
84
|
code: InvalidFill.FillMismatch,
|
|
76
|
-
reason: `Fill for ${originChain} deposit ID ${depositId} is invalid (${match.reason}).`,
|
|
85
|
+
reason: `Fill for ${originChain} deposit ID ${depositId.toString()} is invalid (${match.reason}).`,
|
|
77
86
|
};
|
|
78
87
|
}
|
|
79
88
|
|
|
80
89
|
return {
|
|
81
90
|
found: false,
|
|
82
91
|
code: InvalidFill.DepositIdNotFound,
|
|
83
|
-
reason: `${originChain} deposit ID ${depositId} not found in SpokePoolClient event buffer.`,
|
|
92
|
+
reason: `${originChain} deposit ID ${depositId.toString()} not found in SpokePoolClient event buffer.`,
|
|
84
93
|
};
|
|
85
94
|
}
|
|
86
95
|
|
|
@@ -123,6 +123,17 @@ export function chainIsL1(chainId: number): boolean {
|
|
|
123
123
|
return [CHAIN_IDs.MAINNET, CHAIN_IDs.SEPOLIA].includes(chainId);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
+
/**
|
|
127
|
+
* Determines whether a chain ID runs on an EVM-like execution layer.
|
|
128
|
+
* @param chainId Chain ID to evaluate.
|
|
129
|
+
* @returns True if chain corresponding to chainId has an EVM-like execution layer.
|
|
130
|
+
*/
|
|
131
|
+
export function chainIsEvm(chainId: number): boolean {
|
|
132
|
+
chainId;
|
|
133
|
+
// TODO: Fix when we support non-EVM chains.
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
|
|
126
137
|
/**
|
|
127
138
|
* Determines whether a chain ID has the capacity for having its USDC bridged via CCTP.
|
|
128
139
|
* @param chainId Chain ID to evaluate.
|
package/src/utils/SpokeUtils.ts
CHANGED
|
@@ -153,7 +153,7 @@ export async function getBlockRangeForDepositId(
|
|
|
153
153
|
// // targetId = 2 <- pass (does not trigger this error)
|
|
154
154
|
// // targetId = 3 <- pass (does not trigger this error)
|
|
155
155
|
throw new Error(
|
|
156
|
-
`Target depositId is less than the initial low block (${targetDepositId} > ${lowestDepositIdInRange})`
|
|
156
|
+
`Target depositId is less than the initial low block (${targetDepositId.toString()} > ${lowestDepositIdInRange})`
|
|
157
157
|
);
|
|
158
158
|
}
|
|
159
159
|
|
|
@@ -208,7 +208,7 @@ export async function getBlockRangeForDepositId(
|
|
|
208
208
|
export async function getDepositIdAtBlock(contract: Contract, blockTag: number): Promise<BigNumber> {
|
|
209
209
|
const _depositIdAtBlock = await contract.numberOfDeposits({ blockTag });
|
|
210
210
|
const depositIdAtBlock = toBN(_depositIdAtBlock);
|
|
211
|
-
// Sanity check to ensure that the deposit ID is
|
|
211
|
+
// Sanity check to ensure that the deposit ID is greater than or equal to zero.
|
|
212
212
|
if (depositIdAtBlock.lt(bnZero)) {
|
|
213
213
|
throw new Error("Invalid deposit count");
|
|
214
214
|
}
|
|
@@ -280,7 +280,9 @@ export async function relayFillStatus(
|
|
|
280
280
|
|
|
281
281
|
if (![FillStatus.Unfilled, FillStatus.RequestedSlowFill, FillStatus.Filled].includes(fillStatus)) {
|
|
282
282
|
const { originChainId, depositId } = relayData;
|
|
283
|
-
throw new Error(
|
|
283
|
+
throw new Error(
|
|
284
|
+
`relayFillStatus: Unexpected fillStatus for ${originChainId} deposit ${depositId.toString()} (${fillStatus})`
|
|
285
|
+
);
|
|
284
286
|
}
|
|
285
287
|
|
|
286
288
|
return fillStatus;
|
|
@@ -369,7 +371,7 @@ export async function findFillBlock(
|
|
|
369
371
|
if (initialFillStatus === FillStatus.Filled) {
|
|
370
372
|
const { depositId, originChainId } = relayData;
|
|
371
373
|
const [srcChain, dstChain] = [getNetworkName(originChainId), getNetworkName(destinationChainId)];
|
|
372
|
-
throw new Error(`${srcChain} deposit ${depositId} filled on ${dstChain} before block ${lowBlockNumber}`);
|
|
374
|
+
throw new Error(`${srcChain} deposit ${depositId.toString()} filled on ${dstChain} before block ${lowBlockNumber}`);
|
|
373
375
|
}
|
|
374
376
|
|
|
375
377
|
// Find the leftmost block where filledAmount equals the deposit amount.
|