@across-protocol/sdk 4.0.2 → 4.0.3

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 (118) hide show
  1. package/dist/cjs/clients/BundleDataClient/BundleDataClient.d.ts +3 -3
  2. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +38 -18
  3. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  4. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.d.ts +3 -0
  5. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +20 -10
  6. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  7. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +14 -2
  8. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js +4 -1
  9. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
  10. package/dist/cjs/clients/SpokePoolClient.js +155 -88
  11. package/dist/cjs/clients/SpokePoolClient.js.map +1 -1
  12. package/dist/cjs/clients/mocks/MockSpokePoolClient.d.ts +20 -6
  13. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +77 -35
  14. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  15. package/dist/cjs/constants.d.ts +2 -1
  16. package/dist/cjs/constants.js +3 -2
  17. package/dist/cjs/constants.js.map +1 -1
  18. package/dist/cjs/interfaces/SpokePool.d.ts +6 -2
  19. package/dist/cjs/interfaces/SpokePool.js.map +1 -1
  20. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +3 -3
  21. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  22. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +1 -1
  23. package/dist/cjs/utils/AddressUtils.d.ts +1 -0
  24. package/dist/cjs/utils/AddressUtils.js +5 -1
  25. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  26. package/dist/cjs/utils/CachingUtils.js +1 -1
  27. package/dist/cjs/utils/CachingUtils.js.map +1 -1
  28. package/dist/cjs/utils/DepositUtils.d.ts +1 -1
  29. package/dist/cjs/utils/DepositUtils.js +11 -8
  30. package/dist/cjs/utils/DepositUtils.js.map +1 -1
  31. package/dist/cjs/utils/FlowUtils.d.ts +4 -3
  32. package/dist/cjs/utils/FlowUtils.js +5 -1
  33. package/dist/cjs/utils/FlowUtils.js.map +1 -1
  34. package/dist/cjs/utils/SpokeUtils.d.ts +9 -3
  35. package/dist/cjs/utils/SpokeUtils.js +22 -2
  36. package/dist/cjs/utils/SpokeUtils.js.map +1 -1
  37. package/dist/esm/clients/BundleDataClient/BundleDataClient.d.ts +3 -3
  38. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +42 -24
  39. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  40. package/dist/esm/clients/BundleDataClient/utils/FillUtils.d.ts +3 -0
  41. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +20 -11
  42. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  43. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +14 -2
  44. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js +4 -1
  45. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
  46. package/dist/esm/clients/SpokePoolClient.js +172 -92
  47. package/dist/esm/clients/SpokePoolClient.js.map +1 -1
  48. package/dist/esm/clients/mocks/MockSpokePoolClient.d.ts +20 -6
  49. package/dist/esm/clients/mocks/MockSpokePoolClient.js +79 -37
  50. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  51. package/dist/esm/constants.d.ts +2 -1
  52. package/dist/esm/constants.js +6 -1
  53. package/dist/esm/constants.js.map +1 -1
  54. package/dist/esm/interfaces/SpokePool.d.ts +6 -2
  55. package/dist/esm/interfaces/SpokePool.js.map +1 -1
  56. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +3 -3
  57. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  58. package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +1 -1
  59. package/dist/esm/utils/AddressUtils.d.ts +1 -0
  60. package/dist/esm/utils/AddressUtils.js +7 -4
  61. package/dist/esm/utils/AddressUtils.js.map +1 -1
  62. package/dist/esm/utils/CachingUtils.js +2 -2
  63. package/dist/esm/utils/CachingUtils.js.map +1 -1
  64. package/dist/esm/utils/DepositUtils.d.ts +1 -1
  65. package/dist/esm/utils/DepositUtils.js +12 -9
  66. package/dist/esm/utils/DepositUtils.js.map +1 -1
  67. package/dist/esm/utils/FlowUtils.d.ts +4 -3
  68. package/dist/esm/utils/FlowUtils.js +6 -1
  69. package/dist/esm/utils/FlowUtils.js.map +1 -1
  70. package/dist/esm/utils/SpokeUtils.d.ts +16 -3
  71. package/dist/esm/utils/SpokeUtils.js +27 -1
  72. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  73. package/dist/esm/utils/abi/typechain/Multicall3.d.ts +4 -1
  74. package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js.map +1 -1
  75. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts +3 -3
  76. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
  77. package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts +3 -0
  78. package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts.map +1 -1
  79. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +14 -2
  80. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts.map +1 -1
  81. package/dist/types/clients/SpokePoolClient.d.ts.map +1 -1
  82. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts +20 -6
  83. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
  84. package/dist/types/constants.d.ts +2 -1
  85. package/dist/types/constants.d.ts.map +1 -1
  86. package/dist/types/interfaces/SpokePool.d.ts +6 -2
  87. package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
  88. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +3 -3
  89. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
  90. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +1 -1
  91. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
  92. package/dist/types/utils/AddressUtils.d.ts +1 -0
  93. package/dist/types/utils/AddressUtils.d.ts.map +1 -1
  94. package/dist/types/utils/DepositUtils.d.ts +1 -1
  95. package/dist/types/utils/DepositUtils.d.ts.map +1 -1
  96. package/dist/types/utils/FlowUtils.d.ts +4 -3
  97. package/dist/types/utils/FlowUtils.d.ts.map +1 -1
  98. package/dist/types/utils/SpokeUtils.d.ts +16 -3
  99. package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
  100. package/dist/types/utils/abi/typechain/Multicall3.d.ts +4 -1
  101. package/dist/types/utils/abi/typechain/Multicall3.d.ts.map +1 -1
  102. package/dist/types/utils/abi/typechain/common.d.ts.map +1 -1
  103. package/dist/types/utils/abi/typechain/factories/Multicall3__factory.d.ts.map +1 -1
  104. package/package.json +1 -1
  105. package/src/clients/BundleDataClient/BundleDataClient.ts +47 -30
  106. package/src/clients/BundleDataClient/utils/FillUtils.ts +26 -13
  107. package/src/clients/BundleDataClient/utils/SuperstructUtils.ts +7 -1
  108. package/src/clients/SpokePoolClient.ts +119 -41
  109. package/src/clients/mocks/MockSpokePoolClient.ts +134 -36
  110. package/src/constants.ts +6 -1
  111. package/src/interfaces/SpokePool.ts +6 -2
  112. package/src/relayFeeCalculator/chain-queries/baseQuery.ts +6 -3
  113. package/src/relayFeeCalculator/relayFeeCalculator.ts +1 -1
  114. package/src/utils/AddressUtils.ts +8 -4
  115. package/src/utils/CachingUtils.ts +2 -2
  116. package/src/utils/DepositUtils.ts +8 -3
  117. package/src/utils/FlowUtils.ts +10 -4
  118. package/src/utils/SpokeUtils.ts +33 -3
@@ -9,6 +9,7 @@ var constants_1 = require("../constants");
9
9
  var NetworkUtils_1 = require("../utils/NetworkUtils");
10
10
  var SpokeUtils_1 = require("../utils/SpokeUtils");
11
11
  var BaseAbstractClient_1 = require("./BaseAbstractClient");
12
+ var FillUtils_1 = require("./BundleDataClient/utils/FillUtils");
12
13
  var SpokePoolClient = (function (_super) {
13
14
  tslib_1.__extends(SpokePoolClient, _super);
14
15
  function SpokePoolClient(logger, spokePool, hubPoolClient, chainId, deploymentBlock, eventSearchConfig) {
@@ -69,7 +70,7 @@ var SpokePoolClient = (function (_super) {
69
70
  };
70
71
  SpokePoolClient.prototype._getDuplicateDeposits = function (deposit) {
71
72
  var _a;
72
- var depositHash = this.getDepositHash(deposit);
73
+ var depositHash = (0, utils_1.getRelayEventKey)(deposit);
73
74
  return (_a = this.duplicateDepositHashes[depositHash]) !== null && _a !== void 0 ? _a : [];
74
75
  };
75
76
  SpokePoolClient.prototype.getDepositsForDestinationChainWithDuplicates = function (destinationChainId) {
@@ -139,11 +140,14 @@ var SpokePoolClient = (function (_super) {
139
140
  return updatedDeposit;
140
141
  };
141
142
  SpokePoolClient.prototype.getDeposit = function (depositId) {
142
- var depositHash = this.getDepositHash({ depositId: depositId, originChainId: this.chainId });
143
- return this.depositHashes[depositHash];
143
+ return Object.values(this.depositHashes).find(function (_a) {
144
+ var _depositId = _a.depositId;
145
+ return _depositId.eq(depositId);
146
+ });
144
147
  };
145
148
  SpokePoolClient.prototype.getSlowFillRequest = function (relayData) {
146
- var hash = (0, utils_1.getRelayDataHash)(relayData, this.chainId);
149
+ var messageHash = (0, utils_1.getMessageHash)(relayData.message);
150
+ var hash = (0, utils_1.getRelayEventKey)(tslib_1.__assign(tslib_1.__assign({}, relayData), { messageHash: messageHash, destinationChainId: this.chainId }));
147
151
  return this.slowFillRequests[hash];
148
152
  };
149
153
  SpokePoolClient.prototype.getSlowFillRequestsForOriginChain = function (originChainId) {
@@ -153,7 +157,7 @@ var SpokePoolClient = (function (_super) {
153
157
  return this.speedUps;
154
158
  };
155
159
  SpokePoolClient.prototype.getDepositForFill = function (fill) {
156
- var deposit = this.depositHashes[this.getDepositHash(fill)];
160
+ var deposit = this.depositHashes[(0, utils_1.getRelayEventKey)(fill)];
157
161
  var match = (0, FlowUtils_1.validateFillForDeposit)(fill, deposit);
158
162
  if (match.valid) {
159
163
  return deposit;
@@ -168,24 +172,32 @@ var SpokePoolClient = (function (_super) {
168
172
  return;
169
173
  };
170
174
  SpokePoolClient.prototype.getFillForDeposit = function (deposit) {
171
- var fills = this.depositHashesToFills[this.getDepositHash(deposit)];
175
+ var fills = this.depositHashesToFills[(0, utils_1.getRelayEventKey)(deposit)];
172
176
  return fills === null || fills === void 0 ? void 0 : fills.find(function (fill) { return (0, FlowUtils_1.validateFillForDeposit)(fill, deposit); });
173
177
  };
174
178
  SpokePoolClient.prototype.getValidUnfilledAmountForDeposit = function (deposit) {
179
+ var _this = this;
175
180
  var outputAmount = deposit.outputAmount;
176
- var fillsForDeposit = this.depositHashesToFills[this.getDepositHash(deposit)];
181
+ var fillsForDeposit = this.depositHashesToFills[(0, utils_1.getRelayEventKey)(deposit)];
177
182
  if (fillsForDeposit === undefined || fillsForDeposit.length === 0) {
178
183
  return { unfilledAmount: outputAmount, fillCount: 0, invalidFills: [] };
179
184
  }
180
185
  var _a = fillsForDeposit.reduce(function (groupedFills, fill) {
181
186
  if ((0, FlowUtils_1.validateFillForDeposit)(fill, deposit).valid) {
187
+ var repaymentChainId = (0, FillUtils_1.getRepaymentChainId)(fill, deposit);
188
+ if (_this.hubPoolClient &&
189
+ !(0, utils_1.isSlowFill)(fill) &&
190
+ (!(0, utils_1.isValidEvmAddress)(fill.relayer) ||
191
+ (0, FillUtils_1.forceDestinationRepayment)(repaymentChainId, tslib_1.__assign(tslib_1.__assign({}, deposit), { quoteBlockNumber: _this.hubPoolClient.latestBlockSearched }), _this.hubPoolClient))) {
192
+ groupedFills.unrepayableFills.push(fill);
193
+ }
182
194
  groupedFills.validFills.push(fill);
183
195
  }
184
196
  else {
185
197
  groupedFills.invalidFills.push(fill);
186
198
  }
187
199
  return groupedFills;
188
- }, { validFills: [], invalidFills: [] }), validFills = _a.validFills, invalidFills = _a.invalidFills;
200
+ }, { validFills: [], invalidFills: [], unrepayableFills: [] }), validFills = _a.validFills, invalidFills = _a.invalidFills, unrepayableFills = _a.unrepayableFills;
189
201
  var invalidFillsForDeposit = invalidFills.filter(function (x) { return x.depositId.eq(deposit.depositId); });
190
202
  if (invalidFillsForDeposit.length > 0) {
191
203
  this.logger.warn({
@@ -197,6 +209,17 @@ var SpokePoolClient = (function (_super) {
197
209
  notificationPath: "across-invalid-fills",
198
210
  });
199
211
  }
212
+ var unrepayableFillsForDeposit = unrepayableFills.filter(function (x) { return x.depositId.eq(deposit.depositId); });
213
+ if (unrepayableFillsForDeposit.length > 0) {
214
+ this.logger.warn({
215
+ at: "SpokePoolClient",
216
+ chainId: this.chainId,
217
+ message: "Unrepayable fills found where we need to switch repayment address and or chain",
218
+ deposit: deposit,
219
+ unrepayableFills: Object.fromEntries(unrepayableFillsForDeposit.map(function (x) { return [x.relayer, x]; })),
220
+ notificationPath: "across-unrepayable-fills",
221
+ });
222
+ }
200
223
  if (validFills.length === 0) {
201
224
  return { unfilledAmount: outputAmount, fillCount: 0, invalidFills: invalidFills };
202
225
  }
@@ -303,124 +326,168 @@ var SpokePoolClient = (function (_super) {
303
326
  });
304
327
  };
305
328
  SpokePoolClient.prototype.update = function (eventsToQuery) {
306
- var _a, _b, _c;
307
329
  if (eventsToQuery === void 0) { eventsToQuery = this.queryableEventNames; }
308
330
  return tslib_1.__awaiter(this, void 0, void 0, function () {
309
- var update, queryResults, currentTime, oldestTime, searchEndBlock, _i, _d, event_1, depositEvents, quoteBlockNumbers, _e, depositEvents_1, event_2, quoteBlockNumber, deposit, speedUpEvents, _f, speedUpEvents_1, event_3, speedUp, depositHash, depositDataAssociatedWithSpeedUp, slowFillRequests, _g, slowFillRequests_1, event_4, slowFillRequest, relayDataHash, fillEvents, _h, fillEvents_1, event_5, fill, enableDepositsEvents, _j, enableDepositsEvents_1, event_6, enableDeposit, relayedRootBundleEvents, _k, relayedRootBundleEvents_1, event_7, refundEvents, _l, refundEvents_1, event_8, executedRefund;
310
- return tslib_1.__generator(this, function (_m) {
311
- switch (_m.label) {
331
+ var update, queryResults, currentTime, oldestTime, searchEndBlock, _i, _a, event_1, queryDepositEvents, _b, _c, event_2, querySpeedUpDepositEvents, queryRequestedSlowFillEvents, queryFilledRelayEvents, enableDepositsEvents, _d, enableDepositsEvents_1, event_3, enableDeposit, relayedRootBundleEvents, _e, relayedRootBundleEvents_1, event_4, refundEvents, _f, refundEvents_1, event_5, executedRefund;
332
+ var _this = this;
333
+ return tslib_1.__generator(this, function (_g) {
334
+ switch (_g.label) {
312
335
  case 0:
313
336
  if (this.hubPoolClient !== null && !this.hubPoolClient.isUpdated) {
314
337
  throw new Error("HubPoolClient not updated");
315
338
  }
316
339
  return [4, this._update(eventsToQuery)];
317
340
  case 1:
318
- update = _m.sent();
341
+ update = _g.sent();
319
342
  if (!update.success) {
320
343
  return [2];
321
344
  }
322
345
  queryResults = update.events, currentTime = update.currentTime, oldestTime = update.oldestTime, searchEndBlock = update.searchEndBlock;
323
346
  if (eventsToQuery.includes("TokensBridged")) {
324
- for (_i = 0, _d = queryResults[eventsToQuery.indexOf("TokensBridged")]; _i < _d.length; _i++) {
325
- event_1 = _d[_i];
347
+ for (_i = 0, _a = queryResults[eventsToQuery.indexOf("TokensBridged")]; _i < _a.length; _i++) {
348
+ event_1 = _a[_i];
326
349
  this.tokensBridged.push((0, EventUtils_1.spreadEventWithBlockNumber)(event_1));
327
350
  }
328
351
  }
329
- if (!eventsToQuery.includes("V3FundsDeposited")) return [3, 3];
330
- depositEvents = (_a = queryResults[eventsToQuery.indexOf("V3FundsDeposited")]) !== null && _a !== void 0 ? _a : [];
331
- if (depositEvents.length > 0) {
332
- this.log("debug", "Using ".concat(depositEvents.length, " newly queried deposit events for chain ").concat(this.chainId), {
333
- earliestEvent: depositEvents[0].blockNumber,
352
+ queryDepositEvents = function (eventName) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
353
+ var depositEvents, quoteBlockNumbers, _i, depositEvents_1, event_6, quoteBlockNumber, deposit;
354
+ var _a;
355
+ return tslib_1.__generator(this, function (_b) {
356
+ switch (_b.label) {
357
+ case 0:
358
+ depositEvents = (_a = queryResults[eventsToQuery.indexOf(eventName)]) !== null && _a !== void 0 ? _a : [];
359
+ if (depositEvents.length > 0) {
360
+ this.log("debug", "Using ".concat(depositEvents.length, " newly queried ").concat(eventName, " deposit events for chain ").concat(this.chainId), {
361
+ earliestEvent: depositEvents[0].blockNumber,
362
+ });
363
+ }
364
+ return [4, this.getBlockNumbers(depositEvents.map(function (_a) {
365
+ var args = _a.args;
366
+ return Number(args["quoteTimestamp"]);
367
+ }))];
368
+ case 1:
369
+ quoteBlockNumbers = _b.sent();
370
+ for (_i = 0, depositEvents_1 = depositEvents; _i < depositEvents_1.length; _i++) {
371
+ event_6 = depositEvents_1[_i];
372
+ quoteBlockNumber = quoteBlockNumbers[Number(event_6.args["quoteTimestamp"])];
373
+ deposit = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_6)), { messageHash: (0, utils_1.getMessageHash)(event_6.args.message), quoteBlockNumber: quoteBlockNumber, originChainId: this.chainId, fromLiteChain: true, toLiteChain: true });
374
+ deposit.fromLiteChain = this.isOriginLiteChain(deposit);
375
+ deposit.toLiteChain = this.isDestinationLiteChain(deposit);
376
+ if ((0, utils_1.isZeroAddress)(deposit.outputToken)) {
377
+ deposit.outputToken = this.getDestinationTokenForDeposit(deposit);
378
+ }
379
+ if (this.depositHashes[(0, utils_1.getRelayEventKey)(deposit)] !== undefined) {
380
+ (0, utils_1.assign)(this.duplicateDepositHashes, [(0, utils_1.getRelayEventKey)(deposit)], [deposit]);
381
+ continue;
382
+ }
383
+ (0, utils_1.assign)(this.depositHashes, [(0, utils_1.getRelayEventKey)(deposit)], deposit);
384
+ if (deposit.depositId.lt(this.earliestDepositIdQueried) && !(0, utils_1.isUnsafeDepositId)(deposit.depositId)) {
385
+ this.earliestDepositIdQueried = deposit.depositId;
386
+ }
387
+ if (deposit.depositId.gt(this.latestDepositIdQueried) && !(0, utils_1.isUnsafeDepositId)(deposit.depositId)) {
388
+ this.latestDepositIdQueried = deposit.depositId;
389
+ }
390
+ }
391
+ return [2];
392
+ }
334
393
  });
335
- }
336
- return [4, this.getBlockNumbers(depositEvents.map(function (_a) {
337
- var args = _a.args;
338
- return Number(args["quoteTimestamp"]);
339
- }))];
394
+ }); };
395
+ _b = 0, _c = ["V3FundsDeposited", "FundsDeposited"];
396
+ _g.label = 2;
340
397
  case 2:
341
- quoteBlockNumbers = _m.sent();
342
- for (_e = 0, depositEvents_1 = depositEvents; _e < depositEvents_1.length; _e++) {
343
- event_2 = depositEvents_1[_e];
344
- quoteBlockNumber = quoteBlockNumbers[Number(event_2.args["quoteTimestamp"])];
345
- deposit = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_2)), { quoteBlockNumber: quoteBlockNumber, originChainId: this.chainId, fromLiteChain: true, toLiteChain: true });
346
- deposit.fromLiteChain = this.isOriginLiteChain(deposit);
347
- deposit.toLiteChain = this.isDestinationLiteChain(deposit);
348
- if (deposit.outputToken === constants_1.ZERO_ADDRESS) {
349
- deposit.outputToken = this.getDestinationTokenForDeposit(deposit);
350
- }
351
- if (this.depositHashes[this.getDepositHash(deposit)] !== undefined) {
352
- (0, utils_1.assign)(this.duplicateDepositHashes, [this.getDepositHash(deposit)], [deposit]);
353
- continue;
354
- }
355
- (0, utils_1.assign)(this.depositHashes, [this.getDepositHash(deposit)], deposit);
356
- if (deposit.depositId.lt(this.earliestDepositIdQueried) && !(0, utils_1.isUnsafeDepositId)(deposit.depositId)) {
357
- this.earliestDepositIdQueried = deposit.depositId;
358
- }
359
- if (deposit.depositId.gt(this.latestDepositIdQueried) && !(0, utils_1.isUnsafeDepositId)(deposit.depositId)) {
360
- this.latestDepositIdQueried = deposit.depositId;
361
- }
362
- }
363
- _m.label = 3;
398
+ if (!(_b < _c.length)) return [3, 5];
399
+ event_2 = _c[_b];
400
+ if (!eventsToQuery.includes(event_2)) return [3, 4];
401
+ return [4, queryDepositEvents(event_2)];
364
402
  case 3:
365
- if (eventsToQuery.includes("RequestedSpeedUpV3Deposit")) {
366
- speedUpEvents = (_b = queryResults[eventsToQuery.indexOf("RequestedSpeedUpV3Deposit")]) !== null && _b !== void 0 ? _b : [];
367
- for (_f = 0, speedUpEvents_1 = speedUpEvents; _f < speedUpEvents_1.length; _f++) {
368
- event_3 = speedUpEvents_1[_f];
369
- speedUp = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_3)), { originChainId: this.chainId });
370
- (0, utils_1.assign)(this.speedUps, [speedUp.depositor, speedUp.depositId.toString()], [speedUp]);
371
- depositHash = this.getDepositHash(speedUp);
372
- depositDataAssociatedWithSpeedUp = this.depositHashes[depositHash];
373
- if ((0, utils_1.isDefined)(depositDataAssociatedWithSpeedUp)) {
374
- this.depositHashes[depositHash] = this.appendMaxSpeedUpSignatureToDeposit(depositDataAssociatedWithSpeedUp);
403
+ _g.sent();
404
+ _g.label = 4;
405
+ case 4:
406
+ _b++;
407
+ return [3, 2];
408
+ case 5:
409
+ querySpeedUpDepositEvents = function (eventName) {
410
+ var _a;
411
+ var speedUpEvents = (_a = queryResults[eventsToQuery.indexOf(eventName)]) !== null && _a !== void 0 ? _a : [];
412
+ for (var _i = 0, speedUpEvents_1 = speedUpEvents; _i < speedUpEvents_1.length; _i++) {
413
+ var event_7 = speedUpEvents_1[_i];
414
+ var speedUp = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_7)), { originChainId: _this.chainId });
415
+ (0, utils_1.assign)(_this.speedUps, [speedUp.depositor, speedUp.depositId.toString()], [speedUp]);
416
+ var deposit = _this.getDeposit(speedUp.depositId);
417
+ if ((0, utils_1.isDefined)(deposit)) {
418
+ var eventKey = (0, utils_1.getRelayEventKey)(deposit);
419
+ _this.depositHashes[eventKey] = _this.appendMaxSpeedUpSignatureToDeposit(deposit);
375
420
  }
376
421
  }
377
- }
378
- if (eventsToQuery.includes("RequestedV3SlowFill")) {
379
- slowFillRequests = queryResults[eventsToQuery.indexOf("RequestedV3SlowFill")];
380
- for (_g = 0, slowFillRequests_1 = slowFillRequests; _g < slowFillRequests_1.length; _g++) {
381
- event_4 = slowFillRequests_1[_g];
382
- slowFillRequest = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_4)), { destinationChainId: this.chainId });
383
- relayDataHash = (0, utils_1.getRelayDataHash)(slowFillRequest, this.chainId);
384
- if (this.slowFillRequests[relayDataHash] !== undefined) {
385
- continue;
422
+ };
423
+ ["RequestedSpeedUpV3Deposit", "RequestedSpeedUpDeposit"].forEach(function (event) {
424
+ if (eventsToQuery.includes(event)) {
425
+ querySpeedUpDepositEvents(event);
426
+ }
427
+ });
428
+ queryRequestedSlowFillEvents = function (eventName) {
429
+ var _a;
430
+ var _b;
431
+ var slowFillRequests = queryResults[eventsToQuery.indexOf(eventName)];
432
+ for (var _i = 0, slowFillRequests_1 = slowFillRequests; _i < slowFillRequests_1.length; _i++) {
433
+ var event_8 = slowFillRequests_1[_i];
434
+ var slowFillRequest = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_8)), { destinationChainId: _this.chainId });
435
+ if (eventName === "RequestedV3SlowFill") {
436
+ slowFillRequest.messageHash = (0, utils_1.getMessageHash)(slowFillRequest.message);
386
437
  }
387
- this.slowFillRequests[relayDataHash] = slowFillRequest;
438
+ var depositHash = (0, utils_1.getRelayEventKey)(tslib_1.__assign(tslib_1.__assign({}, slowFillRequest), { destinationChainId: _this.chainId }));
439
+ (_a = (_b = _this.slowFillRequests)[depositHash]) !== null && _a !== void 0 ? _a : (_b[depositHash] = slowFillRequest);
388
440
  }
389
- }
390
- if (eventsToQuery.includes("FilledV3Relay")) {
391
- fillEvents = (_c = queryResults[eventsToQuery.indexOf("FilledV3Relay")]) !== null && _c !== void 0 ? _c : [];
441
+ };
442
+ ["RequestedV3SlowFill", "RequestedSlowFill"].forEach(function (event) {
443
+ if (eventsToQuery.includes(event)) {
444
+ queryRequestedSlowFillEvents(event);
445
+ }
446
+ });
447
+ queryFilledRelayEvents = function (eventName) {
448
+ var _a;
449
+ var fillEvents = (_a = queryResults[eventsToQuery.indexOf(eventName)]) !== null && _a !== void 0 ? _a : [];
392
450
  if (fillEvents.length > 0) {
393
- this.log("debug", "Using ".concat(fillEvents.length, " newly queried fill events for chain ").concat(this.chainId), {
451
+ _this.log("debug", "Using ".concat(fillEvents.length, " newly queried ").concat(eventName, " events for chain ").concat(_this.chainId), {
394
452
  earliestEvent: fillEvents[0].blockNumber,
395
453
  });
396
454
  }
397
- for (_h = 0, fillEvents_1 = fillEvents; _h < fillEvents_1.length; _h++) {
398
- event_5 = fillEvents_1[_h];
399
- fill = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_5)), { destinationChainId: this.chainId });
400
- (0, utils_1.assign)(this.fills, [fill.originChainId], [fill]);
401
- (0, utils_1.assign)(this.depositHashesToFills, [this.getDepositHash(fill)], [fill]);
455
+ for (var _i = 0, fillEvents_1 = fillEvents; _i < fillEvents_1.length; _i++) {
456
+ var event_9 = fillEvents_1[_i];
457
+ var fill = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_9)), { messageHash: (0, utils_1.getMessageHash)(event_9.args["message"]), destinationChainId: _this.chainId });
458
+ if (eventName === "FilledV3Relay") {
459
+ fill.messageHash = (0, utils_1.getMessageHash)(event_9.args.message);
460
+ fill.relayExecutionInfo.updatedMessageHash = (0, utils_1.getMessageHash)(event_9.args.relayExecutionInfo.updatedMessage);
461
+ }
462
+ (0, utils_1.assign)(_this.fills, [fill.originChainId], [fill]);
463
+ (0, utils_1.assign)(_this.depositHashesToFills, [(0, utils_1.getRelayEventKey)(fill)], [fill]);
402
464
  }
403
- }
465
+ };
466
+ ["FilledV3Relay", "FilledRelay"].forEach(function (event) {
467
+ if (eventsToQuery.includes(event)) {
468
+ queryFilledRelayEvents(event);
469
+ }
470
+ });
404
471
  if (eventsToQuery.includes("EnabledDepositRoute")) {
405
472
  enableDepositsEvents = queryResults[eventsToQuery.indexOf("EnabledDepositRoute")];
406
- for (_j = 0, enableDepositsEvents_1 = enableDepositsEvents; _j < enableDepositsEvents_1.length; _j++) {
407
- event_6 = enableDepositsEvents_1[_j];
408
- enableDeposit = (0, EventUtils_1.spreadEvent)(event_6.args);
473
+ for (_d = 0, enableDepositsEvents_1 = enableDepositsEvents; _d < enableDepositsEvents_1.length; _d++) {
474
+ event_3 = enableDepositsEvents_1[_d];
475
+ enableDeposit = (0, EventUtils_1.spreadEvent)(event_3.args);
409
476
  (0, utils_1.assign)(this.depositRoutes, [enableDeposit.originToken, enableDeposit.destinationChainId], enableDeposit.enabled);
410
477
  }
411
478
  }
412
479
  if (eventsToQuery.includes("RelayedRootBundle")) {
413
480
  relayedRootBundleEvents = queryResults[eventsToQuery.indexOf("RelayedRootBundle")];
414
- for (_k = 0, relayedRootBundleEvents_1 = relayedRootBundleEvents; _k < relayedRootBundleEvents_1.length; _k++) {
415
- event_7 = relayedRootBundleEvents_1[_k];
416
- this.rootBundleRelays.push((0, EventUtils_1.spreadEventWithBlockNumber)(event_7));
481
+ for (_e = 0, relayedRootBundleEvents_1 = relayedRootBundleEvents; _e < relayedRootBundleEvents_1.length; _e++) {
482
+ event_4 = relayedRootBundleEvents_1[_e];
483
+ this.rootBundleRelays.push((0, EventUtils_1.spreadEventWithBlockNumber)(event_4));
417
484
  }
418
485
  }
419
486
  if (eventsToQuery.includes("ExecutedRelayerRefundRoot")) {
420
487
  refundEvents = queryResults[eventsToQuery.indexOf("ExecutedRelayerRefundRoot")];
421
- for (_l = 0, refundEvents_1 = refundEvents; _l < refundEvents_1.length; _l++) {
422
- event_8 = refundEvents_1[_l];
423
- executedRefund = (0, EventUtils_1.spreadEventWithBlockNumber)(event_8);
488
+ for (_f = 0, refundEvents_1 = refundEvents; _f < refundEvents_1.length; _f++) {
489
+ event_5 = refundEvents_1[_f];
490
+ executedRefund = (0, EventUtils_1.spreadEventWithBlockNumber)(event_5);
424
491
  executedRefund.l2TokenAddress = SpokePoolClient.getExecutedRefundLeafL2Token(executedRefund.chainId, executedRefund.l2TokenAddress);
425
492
  this.relayerRefundExecutions.push(executedRefund);
426
493
  }
@@ -510,7 +577,7 @@ var SpokePoolClient = (function (_super) {
510
577
  return [4, this.getBlockNumber(Number(event.args["quoteTimestamp"]))];
511
578
  case 3:
512
579
  deposit = tslib_1.__assign.apply(void 0, _a.concat([(_b.quoteBlockNumber = _c.sent(), _b.fromLiteChain = true, _b.toLiteChain = true, _b)]));
513
- if (deposit.outputToken === constants_1.ZERO_ADDRESS) {
580
+ if ((0, utils_1.isZeroAddress)(deposit.outputToken)) {
514
581
  deposit.outputToken = this.getDestinationTokenForDeposit(deposit);
515
582
  }
516
583
  deposit.fromLiteChain = this.isOriginLiteChain(deposit);
@@ -1 +1 @@
1
- {"version":3,"file":"SpokePoolClient.js","sourceRoot":"","sources":["../../../src/clients/SpokePoolClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpokePoolClient.js","sourceRoot":"","sources":["../../../src/clients/SpokePoolClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Contract } from "ethers";
2
2
  import winston from "winston";
3
- import { Log, DepositWithBlock, RelayerRefundExecutionWithBlock, SlowFillRequestWithBlock, FillWithBlock, SlowFillLeaf, SpeedUp, TokensBridged } from "../../interfaces";
3
+ import { Log, Deposit, DepositWithBlock, RelayerRefundExecution, SlowFillRequest, SortableEvent, Fill, SlowFillLeaf, SpeedUp, TokensBridged } from "../../interfaces";
4
4
  import { BigNumber } from "../../utils";
5
5
  import { SpokePoolClient, SpokePoolUpdate } from "../SpokePoolClient";
6
6
  import { HubPoolClient } from "../HubPoolClient";
@@ -22,12 +22,26 @@ export declare class MockSpokePoolClient extends SpokePoolClient {
22
22
  _getDepositIdAtBlock(blockTag: number): Promise<BigNumber>;
23
23
  _update(eventsToQuery: string[]): Promise<SpokePoolUpdate>;
24
24
  readonly eventSignatures: Record<string, string>;
25
- depositV3(deposit: DepositWithBlock): Log;
26
- fillV3Relay(fill: FillWithBlock): Log;
25
+ deposit(deposit: Omit<Deposit, "messageHash"> & Partial<SortableEvent>): Log;
26
+ depositV3(deposit: Omit<Deposit, "messageHash"> & Partial<SortableEvent>): Log;
27
+ protected _deposit(event: string, deposit: Omit<Deposit, "messageHash"> & Partial<SortableEvent>): Log;
28
+ fillV3Relay(fill: Omit<Fill, "messageHash"> & {
29
+ message: string;
30
+ } & Partial<SortableEvent>): Log;
31
+ fillRelay(fill: Omit<Fill, "messageHash"> & {
32
+ message: string;
33
+ } & Partial<SortableEvent>): Log;
34
+ protected _fillRelay(event: string, fill: Omit<Fill, "messageHash"> & {
35
+ message: string;
36
+ } & Partial<SortableEvent>): Log;
27
37
  speedUpV3Deposit(speedUp: SpeedUp): Log;
38
+ speedUpDeposit(speedUp: SpeedUp): Log;
39
+ protected _speedUpDeposit(event: string, speedUp: SpeedUp): Log;
28
40
  setTokensBridged(tokensBridged: TokensBridged): Log;
29
- requestV3SlowFill(request: SlowFillRequestWithBlock): Log;
30
- executeV3SlowRelayLeaf(leaf: SlowFillLeaf): Log;
31
- executeRelayerRefundLeaf(refund: RelayerRefundExecutionWithBlock): Log;
41
+ requestV3SlowFill(request: Omit<SlowFillRequest, "messageHash"> & Partial<SortableEvent>): Log;
42
+ requestSlowFill(request: Omit<SlowFillRequest, "messageHash"> & Partial<SortableEvent>): Log;
43
+ protected _requestSlowFill(event: string, request: Omit<SlowFillRequest, "messageHash"> & Partial<SortableEvent>): Log;
44
+ executeV3SlowRelayLeaf(leaf: Omit<SlowFillLeaf, "messageHash">): Log;
45
+ executeRelayerRefundLeaf(refund: RelayerRefundExecution & Partial<SortableEvent>): Log;
32
46
  setEnableRoute(originToken: string, destinationChainId: number, enabled: boolean, overrides?: EventOverrides): Log;
33
47
  }