@across-protocol/sdk 3.4.14 → 3.4.16

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 (67) hide show
  1. package/dist/cjs/clients/BundleDataClient/BundleDataClient.d.ts +1 -1
  2. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +179 -111
  3. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  4. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.d.ts +3 -1
  5. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +33 -1
  6. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  7. package/dist/cjs/providers/index.d.ts +1 -0
  8. package/dist/cjs/providers/index.js +2 -0
  9. package/dist/cjs/providers/index.js.map +1 -1
  10. package/dist/cjs/providers/mockProvider.d.ts +19 -0
  11. package/dist/cjs/providers/mockProvider.js +70 -0
  12. package/dist/cjs/providers/mockProvider.js.map +1 -0
  13. package/dist/cjs/utils/AddressUtils.d.ts +1 -0
  14. package/dist/cjs/utils/AddressUtils.js +14 -1
  15. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  16. package/dist/cjs/utils/DepositUtils.d.ts +2 -1
  17. package/dist/cjs/utils/DepositUtils.js +9 -0
  18. package/dist/cjs/utils/DepositUtils.js.map +1 -1
  19. package/dist/cjs/utils/NetworkUtils.d.ts +1 -0
  20. package/dist/cjs/utils/NetworkUtils.js +6 -1
  21. package/dist/cjs/utils/NetworkUtils.js.map +1 -1
  22. package/dist/esm/clients/BundleDataClient/BundleDataClient.d.ts +1 -1
  23. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +213 -137
  24. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  25. package/dist/esm/clients/BundleDataClient/utils/FillUtils.d.ts +3 -1
  26. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +42 -1
  27. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  28. package/dist/esm/providers/index.d.ts +1 -0
  29. package/dist/esm/providers/index.js +2 -0
  30. package/dist/esm/providers/index.js.map +1 -1
  31. package/dist/esm/providers/mockProvider.d.ts +23 -0
  32. package/dist/esm/providers/mockProvider.js +73 -0
  33. package/dist/esm/providers/mockProvider.js.map +1 -0
  34. package/dist/esm/utils/AddressUtils.d.ts +1 -0
  35. package/dist/esm/utils/AddressUtils.js +16 -0
  36. package/dist/esm/utils/AddressUtils.js.map +1 -1
  37. package/dist/esm/utils/DepositUtils.d.ts +2 -1
  38. package/dist/esm/utils/DepositUtils.js +9 -0
  39. package/dist/esm/utils/DepositUtils.js.map +1 -1
  40. package/dist/esm/utils/NetworkUtils.d.ts +6 -0
  41. package/dist/esm/utils/NetworkUtils.js +10 -0
  42. package/dist/esm/utils/NetworkUtils.js.map +1 -1
  43. package/dist/esm/utils/SpokeUtils.js +1 -1
  44. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  45. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts +1 -1
  46. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
  47. package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts +3 -1
  48. package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts.map +1 -1
  49. package/dist/types/providers/index.d.ts +1 -0
  50. package/dist/types/providers/index.d.ts.map +1 -1
  51. package/dist/types/providers/mockProvider.d.ts +24 -0
  52. package/dist/types/providers/mockProvider.d.ts.map +1 -0
  53. package/dist/types/utils/AddressUtils.d.ts +1 -0
  54. package/dist/types/utils/AddressUtils.d.ts.map +1 -1
  55. package/dist/types/utils/DepositUtils.d.ts +2 -1
  56. package/dist/types/utils/DepositUtils.d.ts.map +1 -1
  57. package/dist/types/utils/NetworkUtils.d.ts +6 -0
  58. package/dist/types/utils/NetworkUtils.d.ts.map +1 -1
  59. package/package.json +1 -1
  60. package/src/clients/BundleDataClient/BundleDataClient.ts +109 -57
  61. package/src/clients/BundleDataClient/utils/FillUtils.ts +47 -2
  62. package/src/providers/index.ts +1 -0
  63. package/src/providers/mockProvider.ts +77 -0
  64. package/src/utils/AddressUtils.ts +16 -0
  65. package/src/utils/DepositUtils.ts +9 -0
  66. package/src/utils/NetworkUtils.ts +11 -0
  67. package/src/utils/SpokeUtils.ts +1 -1
@@ -35,7 +35,7 @@ export declare class BundleDataClient {
35
35
  private loadPersistedDataFromArweave;
36
36
  getPendingRefundsFromValidBundles(): Promise<CombinedRefunds[]>;
37
37
  getPendingRefundsFromBundle(bundle: ProposedRootBundle): Promise<CombinedRefunds>;
38
- getApproximateRefundsForBlockRange(chainIds: number[], blockRanges: number[][]): CombinedRefunds;
38
+ getApproximateRefundsForBlockRange(chainIds: number[], blockRanges: number[][]): Promise<CombinedRefunds>;
39
39
  getUpcomingDepositAmount(chainId: number, l2Token: string, latestBlockToSearch: number): BigNumber;
40
40
  private getLatestProposedBundleData;
41
41
  getLatestPoolRebalanceRoot(): Promise<{
@@ -9,6 +9,9 @@ var utils_2 = require("./utils");
9
9
  exports.INFINITE_FILL_DEADLINE = utils_1.bnUint32Max;
10
10
  function updateExpiredDepositsV3(dict, deposit) {
11
11
  var _a;
12
+ if ((0, utils_1.chainIsEvm)(deposit.originChainId) && !(0, utils_1.isValidEvmAddress)(deposit.depositor)) {
13
+ return;
14
+ }
12
15
  var originChainId = deposit.originChainId, inputToken = deposit.inputToken;
13
16
  if (!((_a = dict === null || dict === void 0 ? void 0 : dict[originChainId]) === null || _a === void 0 ? void 0 : _a[inputToken])) {
14
17
  (0, utils_1.assign)(dict, [originChainId, inputToken], []);
@@ -23,8 +26,11 @@ function updateBundleDepositsV3(dict, deposit) {
23
26
  }
24
27
  dict[originChainId][inputToken].push(deposit);
25
28
  }
26
- function updateBundleFillsV3(dict, fill, lpFeePct, repaymentChainId, repaymentToken) {
29
+ function updateBundleFillsV3(dict, fill, lpFeePct, repaymentChainId, repaymentToken, repaymentAddress) {
27
30
  var _a, _b;
31
+ if ((0, utils_1.chainIsEvm)(repaymentChainId) && !(0, utils_1.isValidEvmAddress)(repaymentAddress)) {
32
+ return;
33
+ }
28
34
  if (!((_a = dict === null || dict === void 0 ? void 0 : dict[repaymentChainId]) === null || _a === void 0 ? void 0 : _a[repaymentToken])) {
29
35
  (0, utils_1.assign)(dict, [repaymentChainId, repaymentToken], {
30
36
  fills: [],
@@ -33,22 +39,22 @@ function updateBundleFillsV3(dict, fill, lpFeePct, repaymentChainId, repaymentTo
33
39
  refunds: {},
34
40
  });
35
41
  }
36
- var bundleFill = tslib_1.__assign(tslib_1.__assign({}, fill), { lpFeePct: lpFeePct });
42
+ var bundleFill = tslib_1.__assign(tslib_1.__assign({}, fill), { lpFeePct: lpFeePct, relayer: repaymentAddress });
37
43
  (0, utils_1.assign)(dict, [repaymentChainId, repaymentToken, "fills"], [bundleFill]);
38
44
  var refundObj = dict[repaymentChainId][repaymentToken];
39
- var realizedLpFee = fill.inputAmount.mul(bundleFill.lpFeePct).div(utils_1.fixedPointAdjustment);
45
+ var realizedLpFee = bundleFill.inputAmount.mul(bundleFill.lpFeePct).div(utils_1.fixedPointAdjustment);
40
46
  refundObj.realizedLpFees = refundObj.realizedLpFees ? refundObj.realizedLpFees.add(realizedLpFee) : realizedLpFee;
41
- if (!(0, utils_1.isSlowFill)(fill)) {
42
- var refundAmount = fill.inputAmount.mul(utils_1.fixedPointAdjustment.sub(lpFeePct)).div(utils_1.fixedPointAdjustment);
47
+ if (!(0, utils_1.isSlowFill)(bundleFill)) {
48
+ var refundAmount = bundleFill.inputAmount.mul(utils_1.fixedPointAdjustment.sub(lpFeePct)).div(utils_1.fixedPointAdjustment);
43
49
  refundObj.totalRefundAmount = refundObj.totalRefundAmount
44
50
  ? refundObj.totalRefundAmount.add(refundAmount)
45
51
  : refundAmount;
46
52
  (_b = refundObj.refunds) !== null && _b !== void 0 ? _b : (refundObj.refunds = {});
47
- if (refundObj.refunds[fill.relayer]) {
48
- refundObj.refunds[fill.relayer] = refundObj.refunds[fill.relayer].add(refundAmount);
53
+ if (refundObj.refunds[bundleFill.relayer]) {
54
+ refundObj.refunds[bundleFill.relayer] = refundObj.refunds[bundleFill.relayer].add(refundAmount);
49
55
  }
50
56
  else {
51
- refundObj.refunds[fill.relayer] = refundAmount;
57
+ refundObj.refunds[bundleFill.relayer] = refundAmount;
52
58
  }
53
59
  }
54
60
  }
@@ -188,64 +194,105 @@ var BundleDataClient = (function () {
188
194
  return [4, this.loadArweaveData(bundleEvaluationBlockRanges)];
189
195
  case 1:
190
196
  arweaveData = _a.sent();
191
- if (arweaveData === undefined) {
192
- combinedRefunds = this.getApproximateRefundsForBlockRange(chainIds, bundleEvaluationBlockRanges);
193
- }
194
- else {
195
- bundleFillsV3 = arweaveData.bundleFillsV3, expiredDepositsToRefundV3 = arweaveData.expiredDepositsToRefundV3;
196
- combinedRefunds = (0, utils_2.getRefundsFromBundle)(bundleFillsV3, expiredDepositsToRefundV3);
197
- Object.keys(combinedRefunds).forEach(function (chainId) {
198
- if (_this.spokePoolClients[Number(chainId)] === undefined) {
199
- delete combinedRefunds[Number(chainId)];
200
- }
201
- });
202
- }
203
- return [2, this.deductExecutedRefunds(combinedRefunds, bundle)];
197
+ if (!(arweaveData === undefined)) return [3, 3];
198
+ return [4, this.getApproximateRefundsForBlockRange(chainIds, bundleEvaluationBlockRanges)];
199
+ case 2:
200
+ combinedRefunds = _a.sent();
201
+ return [3, 4];
202
+ case 3:
203
+ bundleFillsV3 = arweaveData.bundleFillsV3, expiredDepositsToRefundV3 = arweaveData.expiredDepositsToRefundV3;
204
+ combinedRefunds = (0, utils_2.getRefundsFromBundle)(bundleFillsV3, expiredDepositsToRefundV3);
205
+ Object.keys(combinedRefunds).forEach(function (chainId) {
206
+ if (_this.spokePoolClients[Number(chainId)] === undefined) {
207
+ delete combinedRefunds[Number(chainId)];
208
+ }
209
+ });
210
+ _a.label = 4;
211
+ case 4: return [2, this.deductExecutedRefunds(combinedRefunds, bundle)];
204
212
  }
205
213
  });
206
214
  });
207
215
  };
208
216
  BundleDataClient.prototype.getApproximateRefundsForBlockRange = function (chainIds, blockRanges) {
209
- var _this = this;
210
- var refundsForChain = {};
211
- var _loop_1 = function (chainId) {
212
- if (this_1.spokePoolClients[chainId] === undefined) {
213
- return "continue";
214
- }
215
- var chainIndex = chainIds.indexOf(chainId);
216
- this_1.spokePoolClients[chainId]
217
- .getFills()
218
- .filter(function (fill) {
219
- if (fill.blockNumber < blockRanges[chainIndex][0] || fill.blockNumber > blockRanges[chainIndex][1]) {
220
- return false;
221
- }
222
- if (_this.spokePoolClients[fill.originChainId] === undefined) {
223
- return false;
217
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
218
+ var refundsForChain, _loop_1, this_1, _i, chainIds_1, chainId;
219
+ var _this = this;
220
+ return tslib_1.__generator(this, function (_a) {
221
+ switch (_a.label) {
222
+ case 0:
223
+ refundsForChain = {};
224
+ _loop_1 = function (chainId) {
225
+ var chainIndex, fillsToCount;
226
+ return tslib_1.__generator(this, function (_b) {
227
+ switch (_b.label) {
228
+ case 0:
229
+ if (this_1.spokePoolClients[chainId] === undefined) {
230
+ return [2, "continue"];
231
+ }
232
+ chainIndex = chainIds.indexOf(chainId);
233
+ return [4, (0, utils_1.filterAsync)(this_1.spokePoolClients[chainId].getFills(), function (fill) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
234
+ var matchingDeposit, hasMatchingDeposit, validRepayment;
235
+ return tslib_1.__generator(this, function (_a) {
236
+ switch (_a.label) {
237
+ case 0:
238
+ if (fill.blockNumber < blockRanges[chainIndex][0] || fill.blockNumber > blockRanges[chainIndex][1]) {
239
+ return [2, false];
240
+ }
241
+ if (this.spokePoolClients[fill.originChainId] === undefined) {
242
+ return [2, false];
243
+ }
244
+ matchingDeposit = this.spokePoolClients[fill.originChainId].getDeposit(fill.depositId);
245
+ hasMatchingDeposit = matchingDeposit !== undefined &&
246
+ this.getRelayHashFromEvent(fill) === this.getRelayHashFromEvent(matchingDeposit);
247
+ if (!hasMatchingDeposit) return [3, 2];
248
+ return [4, (0, utils_2.verifyFillRepayment)(fill, this.spokePoolClients[fill.destinationChainId].spokePool.provider, matchingDeposit, this.clients.configStoreClient
249
+ .getChainIdIndicesForBlock(blockRanges[0][1])
250
+ .filter(function (_chainId, i) { return !(0, utils_2.isChainDisabled)(blockRanges[i]); }))];
251
+ case 1:
252
+ validRepayment = _a.sent();
253
+ if (!(0, utils_1.isDefined)(validRepayment)) {
254
+ return [2, false];
255
+ }
256
+ _a.label = 2;
257
+ case 2: return [2, hasMatchingDeposit];
258
+ }
259
+ });
260
+ }); })];
261
+ case 1:
262
+ fillsToCount = _b.sent();
263
+ fillsToCount.forEach(function (fill) {
264
+ var _a, _b, _c;
265
+ var _d;
266
+ var matchingDeposit = _this.spokePoolClients[fill.originChainId].getDeposit(fill.depositId);
267
+ (0, utils_1.assert)((0, utils_1.isDefined)(matchingDeposit), "Deposit not found for fill.");
268
+ var _e = (0, utils_2.getRefundInformationFromFill)(fill, _this.clients.hubPoolClient, blockRanges, _this.chainIdListForBundleEvaluationBlockNumbers, matchingDeposit.fromLiteChain), chainToSendRefundTo = _e.chainToSendRefundTo, repaymentToken = _e.repaymentToken;
269
+ var relayer = fill.relayer, refundAmount = fill.inputAmount;
270
+ (_a = refundsForChain[chainToSendRefundTo]) !== null && _a !== void 0 ? _a : (refundsForChain[chainToSendRefundTo] = {});
271
+ (_b = (_d = refundsForChain[chainToSendRefundTo])[repaymentToken]) !== null && _b !== void 0 ? _b : (_d[repaymentToken] = {});
272
+ var existingRefundAmount = (_c = refundsForChain[chainToSendRefundTo][repaymentToken][relayer]) !== null && _c !== void 0 ? _c : utils_1.bnZero;
273
+ refundsForChain[chainToSendRefundTo][repaymentToken][relayer] = existingRefundAmount.add(refundAmount);
274
+ });
275
+ return [2];
276
+ }
277
+ });
278
+ };
279
+ this_1 = this;
280
+ _i = 0, chainIds_1 = chainIds;
281
+ _a.label = 1;
282
+ case 1:
283
+ if (!(_i < chainIds_1.length)) return [3, 4];
284
+ chainId = chainIds_1[_i];
285
+ return [5, _loop_1(chainId)];
286
+ case 2:
287
+ _a.sent();
288
+ _a.label = 3;
289
+ case 3:
290
+ _i++;
291
+ return [3, 1];
292
+ case 4: return [2, refundsForChain];
224
293
  }
225
- var matchingDeposit = _this.spokePoolClients[fill.originChainId].getDeposit(fill.depositId);
226
- var hasMatchingDeposit = matchingDeposit !== undefined &&
227
- _this.getRelayHashFromEvent(fill) === _this.getRelayHashFromEvent(matchingDeposit);
228
- return hasMatchingDeposit;
229
- })
230
- .forEach(function (fill) {
231
- var _a, _b, _c;
232
- var _d;
233
- var matchingDeposit = _this.spokePoolClients[fill.originChainId].getDeposit(fill.depositId);
234
- (0, utils_1.assert)((0, utils_1.isDefined)(matchingDeposit), "Deposit not found for fill.");
235
- var _e = (0, utils_2.getRefundInformationFromFill)(fill, _this.clients.hubPoolClient, blockRanges, _this.chainIdListForBundleEvaluationBlockNumbers, matchingDeposit.fromLiteChain), chainToSendRefundTo = _e.chainToSendRefundTo, repaymentToken = _e.repaymentToken;
236
- var relayer = fill.relayer, refundAmount = fill.inputAmount;
237
- (_a = refundsForChain[chainToSendRefundTo]) !== null && _a !== void 0 ? _a : (refundsForChain[chainToSendRefundTo] = {});
238
- (_b = (_d = refundsForChain[chainToSendRefundTo])[repaymentToken]) !== null && _b !== void 0 ? _b : (_d[repaymentToken] = {});
239
- var existingRefundAmount = (_c = refundsForChain[chainToSendRefundTo][repaymentToken][relayer]) !== null && _c !== void 0 ? _c : utils_1.bnZero;
240
- refundsForChain[chainToSendRefundTo][repaymentToken][relayer] = existingRefundAmount.add(refundAmount);
241
294
  });
242
- };
243
- var this_1 = this;
244
- for (var _i = 0, chainIds_1 = chainIds; _i < chainIds_1.length; _i++) {
245
- var chainId = chainIds_1[_i];
246
- _loop_1(chainId);
247
- }
248
- return refundsForChain;
295
+ });
249
296
  };
250
297
  BundleDataClient.prototype.getUpcomingDepositAmount = function (chainId, l2Token, latestBlockToSearch) {
251
298
  if (this.spokePoolClients[chainId] === undefined) {
@@ -317,32 +364,39 @@ var BundleDataClient = (function () {
317
364
  return [initialBlockRange[1] + 1, blockRange[1]];
318
365
  });
319
366
  }
320
- var hubPoolClient, nextBundleMainnetStartBlock, chainIds, combinedRefunds, widestBundleBlockRanges, pendingBundleBlockRanges, arweaveData, bundleFillsV3, expiredDepositsToRefundV3, start;
321
- return tslib_1.__generator(this, function (_a) {
322
- switch (_a.label) {
367
+ var hubPoolClient, nextBundleMainnetStartBlock, chainIds, combinedRefunds, widestBundleBlockRanges, pendingBundleBlockRanges, arweaveData, _a, _b, bundleFillsV3, expiredDepositsToRefundV3, start, _c, _d;
368
+ return tslib_1.__generator(this, function (_e) {
369
+ switch (_e.label) {
323
370
  case 0:
324
371
  hubPoolClient = this.clients.hubPoolClient;
325
372
  nextBundleMainnetStartBlock = hubPoolClient.getNextBundleStartBlockNumber(this.chainIdListForBundleEvaluationBlockNumbers, hubPoolClient.latestBlockSearched, hubPoolClient.chainId);
326
373
  chainIds = this.clients.configStoreClient.getChainIdIndicesForBlock(nextBundleMainnetStartBlock);
327
374
  combinedRefunds = [];
328
375
  widestBundleBlockRanges = (0, utils_2.getWidestPossibleExpectedBlockRange)(chainIds, this.spokePoolClients, (0, utils_2.getEndBlockBuffers)(chainIds, this.blockRangeEndBlockBuffer), this.clients, this.clients.hubPoolClient.latestBlockSearched, this.clients.configStoreClient.getEnabledChains(this.clients.hubPoolClient.latestBlockSearched));
329
- if (!hubPoolClient.hasPendingProposal()) return [3, 2];
376
+ if (!hubPoolClient.hasPendingProposal()) return [3, 5];
330
377
  pendingBundleBlockRanges = (0, utils_1.getImpliedBundleBlockRanges)(hubPoolClient, this.clients.configStoreClient, hubPoolClient.getLatestProposedRootBundle());
331
378
  return [4, this.loadArweaveData(pendingBundleBlockRanges)];
332
379
  case 1:
333
- arweaveData = _a.sent();
334
- if (arweaveData === undefined) {
335
- combinedRefunds.push(this.getApproximateRefundsForBlockRange(chainIds, pendingBundleBlockRanges));
336
- }
337
- else {
338
- bundleFillsV3 = arweaveData.bundleFillsV3, expiredDepositsToRefundV3 = arweaveData.expiredDepositsToRefundV3;
339
- combinedRefunds.push((0, utils_2.getRefundsFromBundle)(bundleFillsV3, expiredDepositsToRefundV3));
340
- }
341
- widestBundleBlockRanges = getBlockRangeDelta(pendingBundleBlockRanges);
342
- _a.label = 2;
380
+ arweaveData = _e.sent();
381
+ if (!(arweaveData === undefined)) return [3, 3];
382
+ _b = (_a = combinedRefunds).push;
383
+ return [4, this.getApproximateRefundsForBlockRange(chainIds, pendingBundleBlockRanges)];
343
384
  case 2:
385
+ _b.apply(_a, [_e.sent()]);
386
+ return [3, 4];
387
+ case 3:
388
+ bundleFillsV3 = arweaveData.bundleFillsV3, expiredDepositsToRefundV3 = arweaveData.expiredDepositsToRefundV3;
389
+ combinedRefunds.push((0, utils_2.getRefundsFromBundle)(bundleFillsV3, expiredDepositsToRefundV3));
390
+ _e.label = 4;
391
+ case 4:
392
+ widestBundleBlockRanges = getBlockRangeDelta(pendingBundleBlockRanges);
393
+ _e.label = 5;
394
+ case 5:
344
395
  start = performance.now();
345
- combinedRefunds.push(this.getApproximateRefundsForBlockRange(chainIds, widestBundleBlockRanges));
396
+ _d = (_c = combinedRefunds).push;
397
+ return [4, this.getApproximateRefundsForBlockRange(chainIds, widestBundleBlockRanges)];
398
+ case 6:
399
+ _d.apply(_c, [_e.sent()]);
346
400
  this.logger.debug({
347
401
  at: "BundleDataClient#getNextBundleRefunds",
348
402
  message: "Loading approximate refunds for next bundle in ".concat(Math.round(performance.now() - start) / 1000, "s."),
@@ -603,57 +657,71 @@ var BundleDataClient = (function () {
603
657
  fastFillsReplacingSlowFills = [];
604
658
  return [4, (0, utils_1.forEachAsync)(destinationClient
605
659
  .getFillsForOriginChain(originChainId)
606
- .filter(function (fill) { return fill.blockNumber <= destinationChainBlockRange[1] && !(0, utils_1.isZeroValueDeposit)(fill); }), function (fill) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
607
- var relayDataHash, historicalDeposit, matchedDeposit;
660
+ .filter(function (fill) { return fill.blockNumber <= destinationChainBlockRange[1] && !(0, utils_1.isZeroValueDeposit)(fill); }), function (_fill) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
661
+ var relayDataHash, fill, historicalDeposit, matchedDeposit, fill;
608
662
  return tslib_1.__generator(this, function (_a) {
609
663
  switch (_a.label) {
610
664
  case 0:
611
- relayDataHash = this.getRelayHashFromEvent(fill);
612
665
  fillCounter++;
613
- if (v3RelayHashes[relayDataHash]) {
614
- if (!v3RelayHashes[relayDataHash].fill) {
615
- (0, utils_1.assert)((0, utils_1.isDefined)(v3RelayHashes[relayDataHash].deposit), "Deposit should exist in relay hash dictionary.");
616
- v3RelayHashes[relayDataHash].fill = fill;
617
- if (fill.blockNumber >= destinationChainBlockRange[0]) {
618
- validatedBundleV3Fills.push(tslib_1.__assign(tslib_1.__assign({}, fill), { quoteTimestamp: v3RelayHashes[relayDataHash].deposit.quoteTimestamp }));
619
- if (fill.relayExecutionInfo.fillType === interfaces_1.FillType.ReplacedSlowFill &&
620
- !v3RelayHashes[relayDataHash].deposit.fromLiteChain &&
621
- !v3RelayHashes[relayDataHash].deposit.toLiteChain) {
622
- fastFillsReplacingSlowFills.push(relayDataHash);
623
- }
624
- }
625
- }
666
+ relayDataHash = this.getRelayHashFromEvent(_fill);
667
+ if (!v3RelayHashes[relayDataHash]) return [3, 3];
668
+ if (!!v3RelayHashes[relayDataHash].fill) return [3, 2];
669
+ (0, utils_1.assert)((0, utils_1.isDefined)(v3RelayHashes[relayDataHash].deposit), "Deposit should exist in relay hash dictionary.");
670
+ return [4, (0, utils_2.verifyFillRepayment)(_fill, destinationClient.spokePool.provider, v3RelayHashes[relayDataHash].deposit, allChainIds)];
671
+ case 1:
672
+ fill = _a.sent();
673
+ if (!(0, utils_1.isDefined)(fill)) {
674
+ bundleInvalidFillsV3.push(_fill);
626
675
  return [2];
627
676
  }
677
+ v3RelayHashes[relayDataHash].fill = fill;
678
+ if (fill.blockNumber >= destinationChainBlockRange[0]) {
679
+ validatedBundleV3Fills.push(tslib_1.__assign(tslib_1.__assign({}, fill), { quoteTimestamp: v3RelayHashes[relayDataHash].deposit.quoteTimestamp }));
680
+ if (fill.relayExecutionInfo.fillType === interfaces_1.FillType.ReplacedSlowFill &&
681
+ !v3RelayHashes[relayDataHash].deposit.fromLiteChain &&
682
+ !v3RelayHashes[relayDataHash].deposit.toLiteChain) {
683
+ fastFillsReplacingSlowFills.push(relayDataHash);
684
+ }
685
+ }
686
+ _a.label = 2;
687
+ case 2: return [2];
688
+ case 3:
628
689
  v3RelayHashes[relayDataHash] = {
629
690
  deposit: undefined,
630
- fill: fill,
691
+ fill: _fill,
631
692
  slowFillRequest: undefined,
632
693
  };
633
- if (!(fill.blockNumber >= destinationChainBlockRange[0])) return [3, 2];
634
- if (!exports.INFINITE_FILL_DEADLINE.eq(fill.fillDeadline)) {
635
- bundleInvalidFillsV3.push(fill);
694
+ if (!(_fill.blockNumber >= destinationChainBlockRange[0])) return [3, 7];
695
+ if (!exports.INFINITE_FILL_DEADLINE.eq(_fill.fillDeadline)) {
696
+ bundleInvalidFillsV3.push(_fill);
636
697
  return [2];
637
698
  }
638
- return [4, (0, utils_1.queryHistoricalDepositForFill)(originClient, fill)];
639
- case 1:
699
+ return [4, (0, utils_1.queryHistoricalDepositForFill)(originClient, _fill)];
700
+ case 4:
640
701
  historicalDeposit = _a.sent();
641
- if (!historicalDeposit.found) {
642
- bundleInvalidFillsV3.push(fill);
702
+ if (!!historicalDeposit.found) return [3, 5];
703
+ bundleInvalidFillsV3.push(_fill);
704
+ return [3, 7];
705
+ case 5:
706
+ matchedDeposit = historicalDeposit.deposit;
707
+ return [4, (0, utils_2.verifyFillRepayment)(_fill, destinationClient.spokePool.provider, matchedDeposit, allChainIds)];
708
+ case 6:
709
+ fill = _a.sent();
710
+ if (!(0, utils_1.isDefined)(fill)) {
711
+ bundleInvalidFillsV3.push(_fill);
712
+ return [2];
643
713
  }
644
- else {
645
- matchedDeposit = historicalDeposit.deposit;
646
- (0, utils_1.assert)(this.getRelayHashFromEvent(matchedDeposit) === relayDataHash, "Relay hashes should match.");
647
- validatedBundleV3Fills.push(tslib_1.__assign(tslib_1.__assign({}, fill), { quoteTimestamp: matchedDeposit.quoteTimestamp }));
648
- v3RelayHashes[relayDataHash].deposit = matchedDeposit;
649
- if (fill.relayExecutionInfo.fillType === interfaces_1.FillType.ReplacedSlowFill &&
650
- !matchedDeposit.fromLiteChain &&
651
- !matchedDeposit.toLiteChain) {
652
- fastFillsReplacingSlowFills.push(relayDataHash);
653
- }
714
+ v3RelayHashes[relayDataHash].fill = fill;
715
+ (0, utils_1.assert)(this.getRelayHashFromEvent(matchedDeposit) === relayDataHash, "Relay hashes should match.");
716
+ validatedBundleV3Fills.push(tslib_1.__assign(tslib_1.__assign({}, fill), { quoteTimestamp: matchedDeposit.quoteTimestamp }));
717
+ v3RelayHashes[relayDataHash].deposit = matchedDeposit;
718
+ if (fill.relayExecutionInfo.fillType === interfaces_1.FillType.ReplacedSlowFill &&
719
+ !matchedDeposit.fromLiteChain &&
720
+ !matchedDeposit.toLiteChain) {
721
+ fastFillsReplacingSlowFills.push(relayDataHash);
654
722
  }
655
- _a.label = 2;
656
- case 2: return [2];
723
+ _a.label = 7;
724
+ case 7: return [2];
657
725
  }
658
726
  });
659
727
  }); })];
@@ -848,7 +916,7 @@ var BundleDataClient = (function () {
848
916
  var associatedDeposit = v3RelayHashes[_this.getRelayHashFromEvent(fill)].deposit;
849
917
  (0, utils_1.assert)((0, utils_1.isDefined)(associatedDeposit), "Deposit should exist in relay hash dictionary.");
850
918
  var _b = (0, utils_2.getRefundInformationFromFill)(fill, _this.clients.hubPoolClient, blockRangesForChains, chainIds, associatedDeposit.fromLiteChain), chainToSendRefundTo = _b.chainToSendRefundTo, repaymentToken = _b.repaymentToken;
851
- updateBundleFillsV3(bundleFillsV3, fill, realizedLpFeePct, chainToSendRefundTo, repaymentToken);
919
+ updateBundleFillsV3(bundleFillsV3, fill, realizedLpFeePct, chainToSendRefundTo, repaymentToken, fill.relayer);
852
920
  });
853
921
  v3SlowFillLpFees.forEach(function (_a, idx) {
854
922
  var lpFeePct = _a.realizedLpFeePct;
@@ -1 +1 @@
1
- {"version":3,"file":"BundleDataClient.js","sourceRoot":"","sources":["../../../../src/clients/BundleDataClient/BundleDataClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BundleDataClient.js","sourceRoot":"","sources":["../../../../src/clients/BundleDataClient/BundleDataClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
- import { Fill } from "../../../interfaces";
1
+ import { providers } from "ethers";
2
+ import { DepositWithBlock, Fill, FillWithBlock } from "../../../interfaces";
2
3
  import { HubPoolClient } from "../../HubPoolClient";
3
4
  export declare function getRefundInformationFromFill(fill: Fill, hubPoolClient: HubPoolClient, blockRangesForChains: number[][], chainIdListForBundleEvaluationBlockNumbers: number[], fromLiteChain: boolean): {
4
5
  chainToSendRefundTo: number;
5
6
  repaymentToken: string;
6
7
  };
8
+ export declare function verifyFillRepayment(fill: FillWithBlock, destinationChainProvider: providers.Provider, matchedDeposit: DepositWithBlock, possibleRepaymentChainIds: number[]): Promise<FillWithBlock | undefined>;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRefundInformationFromFill = void 0;
3
+ exports.verifyFillRepayment = exports.getRefundInformationFromFill = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var lodash_1 = tslib_1.__importDefault(require("lodash"));
4
6
  var utils_1 = require("../../../utils");
5
7
  function getRefundInformationFromFill(fill, hubPoolClient, blockRangesForChains, chainIdListForBundleEvaluationBlockNumbers, fromLiteChain) {
6
8
  var chainToSendRefundTo = (0, utils_1.isSlowFill)(fill) ? fill.destinationChainId : fill.repaymentChainId;
@@ -16,4 +18,34 @@ function getRefundInformationFromFill(fill, hubPoolClient, blockRangesForChains,
16
18
  };
17
19
  }
18
20
  exports.getRefundInformationFromFill = getRefundInformationFromFill;
21
+ function verifyFillRepayment(fill, destinationChainProvider, matchedDeposit, possibleRepaymentChainIds) {
22
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
23
+ var repaymentChainId, updatedFill, fillTransaction, destinationRelayer;
24
+ return tslib_1.__generator(this, function (_a) {
25
+ switch (_a.label) {
26
+ case 0:
27
+ if ((0, utils_1.isSlowFill)(fill)) {
28
+ return [2, fill];
29
+ }
30
+ repaymentChainId = matchedDeposit.fromLiteChain ? fill.originChainId : fill.repaymentChainId;
31
+ if (!possibleRepaymentChainIds.includes(repaymentChainId)) {
32
+ return [2, undefined];
33
+ }
34
+ updatedFill = lodash_1.default.cloneDeep(fill);
35
+ if (!((0, utils_1.chainIsEvm)(repaymentChainId) && !(0, utils_1.isValidEvmAddress)(updatedFill.relayer))) return [3, 2];
36
+ return [4, destinationChainProvider.getTransaction(updatedFill.transactionHash)];
37
+ case 1:
38
+ fillTransaction = _a.sent();
39
+ destinationRelayer = fillTransaction === null || fillTransaction === void 0 ? void 0 : fillTransaction.from;
40
+ if (!(0, utils_1.isDefined)(destinationRelayer) || !(0, utils_1.isValidEvmAddress)(destinationRelayer)) {
41
+ return [2, undefined];
42
+ }
43
+ updatedFill.relayer = destinationRelayer;
44
+ _a.label = 2;
45
+ case 2: return [2, updatedFill];
46
+ }
47
+ });
48
+ });
49
+ }
50
+ exports.verifyFillRepayment = verifyFillRepayment;
19
51
  //# sourceMappingURL=FillUtils.js.map