@across-protocol/sdk 3.1.36 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +4 -4
  2. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +1 -2
  3. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  4. package/dist/cjs/clients/HubPoolClient.d.ts +7 -4
  5. package/dist/cjs/clients/HubPoolClient.js +37 -25
  6. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  7. package/dist/cjs/clients/SpokePoolClient.d.ts +7 -5
  8. package/dist/cjs/clients/SpokePoolClient.js +53 -90
  9. package/dist/cjs/clients/SpokePoolClient.js.map +1 -1
  10. package/dist/cjs/clients/mocks/MockConfigStoreClient.d.ts +4 -3
  11. package/dist/cjs/clients/mocks/MockConfigStoreClient.js +27 -44
  12. package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -1
  13. package/dist/cjs/clients/mocks/MockEvents.d.ts +5 -5
  14. package/dist/cjs/clients/mocks/MockEvents.js +7 -44
  15. package/dist/cjs/clients/mocks/MockEvents.js.map +1 -1
  16. package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +5 -5
  17. package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
  18. package/dist/cjs/clients/mocks/MockSpokePoolClient.d.ts +9 -19
  19. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +22 -96
  20. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  21. package/dist/cjs/contracts/utils.d.ts +1 -1
  22. package/dist/cjs/contracts/utils.js.map +1 -1
  23. package/dist/cjs/interfaces/Common.d.ts +7 -0
  24. package/dist/cjs/utils/EventUtils.d.ts +7 -4
  25. package/dist/cjs/utils/EventUtils.js +9 -5
  26. package/dist/cjs/utils/EventUtils.js.map +1 -1
  27. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +4 -4
  28. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +2 -3
  29. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  30. package/dist/esm/clients/HubPoolClient.d.ts +19 -4
  31. package/dist/esm/clients/HubPoolClient.js +51 -27
  32. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  33. package/dist/esm/clients/SpokePoolClient.d.ts +13 -12
  34. package/dist/esm/clients/SpokePoolClient.js +61 -104
  35. package/dist/esm/clients/SpokePoolClient.js.map +1 -1
  36. package/dist/esm/clients/mocks/MockConfigStoreClient.d.ts +4 -3
  37. package/dist/esm/clients/mocks/MockConfigStoreClient.js +33 -47
  38. package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
  39. package/dist/esm/clients/mocks/MockEvents.d.ts +5 -5
  40. package/dist/esm/clients/mocks/MockEvents.js +9 -50
  41. package/dist/esm/clients/mocks/MockEvents.js.map +1 -1
  42. package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +5 -5
  43. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
  44. package/dist/esm/clients/mocks/MockSpokePoolClient.d.ts +9 -19
  45. package/dist/esm/clients/mocks/MockSpokePoolClient.js +30 -100
  46. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  47. package/dist/esm/contracts/utils.d.ts +1 -1
  48. package/dist/esm/contracts/utils.js.map +1 -1
  49. package/dist/esm/interfaces/Common.d.ts +7 -0
  50. package/dist/esm/utils/EventUtils.d.ts +7 -4
  51. package/dist/esm/utils/EventUtils.js +7 -4
  52. package/dist/esm/utils/EventUtils.js.map +1 -1
  53. package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +4 -4
  54. package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -1
  55. package/dist/types/clients/HubPoolClient.d.ts +19 -4
  56. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  57. package/dist/types/clients/SpokePoolClient.d.ts +13 -12
  58. package/dist/types/clients/SpokePoolClient.d.ts.map +1 -1
  59. package/dist/types/clients/mocks/MockConfigStoreClient.d.ts +4 -3
  60. package/dist/types/clients/mocks/MockConfigStoreClient.d.ts.map +1 -1
  61. package/dist/types/clients/mocks/MockEvents.d.ts +5 -5
  62. package/dist/types/clients/mocks/MockEvents.d.ts.map +1 -1
  63. package/dist/types/clients/mocks/MockHubPoolClient.d.ts +5 -5
  64. package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
  65. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts +9 -19
  66. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
  67. package/dist/types/contracts/utils.d.ts +1 -1
  68. package/dist/types/contracts/utils.d.ts.map +1 -1
  69. package/dist/types/interfaces/Common.d.ts +7 -0
  70. package/dist/types/interfaces/Common.d.ts.map +1 -1
  71. package/dist/types/utils/EventUtils.d.ts +7 -4
  72. package/dist/types/utils/EventUtils.d.ts.map +1 -1
  73. package/package.json +3 -2
  74. package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +9 -10
  75. package/src/clients/HubPoolClient.ts +34 -24
  76. package/src/clients/SpokePoolClient.ts +55 -74
  77. package/src/clients/mocks/MockConfigStoreClient.ts +11 -11
  78. package/src/clients/mocks/MockEvents.ts +15 -65
  79. package/src/clients/mocks/MockHubPoolClient.ts +6 -6
  80. package/src/clients/mocks/MockSpokePoolClient.ts +26 -59
  81. package/src/contracts/utils.ts +2 -1
  82. package/src/interfaces/Common.ts +7 -0
  83. package/src/utils/EventUtils.ts +12 -7
@@ -3,7 +3,7 @@ import assert from "assert";
3
3
  import _ from "lodash";
4
4
  import { DEFAULT_CACHING_SAFE_LAG, DEFAULT_CACHING_TTL } from "../constants";
5
5
  import * as lpFeeCalculator from "../lpFeeCalculator";
6
- import { BigNumber, BlockFinder, bnZero, dedupArray, assign, fetchTokenInfo, getCachedBlockForTimestamp, getCurrentTime, getNetworkName, isDefined, mapAsync, paginatedEventQuery, shouldCache, sortEventsDescending, spreadEvent, spreadEventWithBlockNumber, toBN, getTokenInfo, getUsdcSymbol, getL1TokenInfo, } from "../utils";
6
+ import { BigNumber, BlockFinder, bnZero, dedupArray, assign, fetchTokenInfo, getCachedBlockForTimestamp, getCurrentTime, getNetworkName, isDefined, mapAsync, paginatedEventQuery, shouldCache, sortEventsDescending, spreadEventWithBlockNumber, toBN, getTokenInfo, getUsdcSymbol, getL1TokenInfo, } from "../utils";
7
7
  import { BaseAbstractClient, isUpdateFailureReason, UpdateFailureReason } from "./BaseAbstractClient";
8
8
  var HubPoolClient = /** @class */ (function (_super) {
9
9
  __extends(HubPoolClient, _super);
@@ -184,10 +184,49 @@ var HubPoolClient = /** @class */ (function (_super) {
184
184
  HubPoolClient.prototype.getL1TokenInfoForAddress = function (tokenAddress, chain) {
185
185
  return getL1TokenInfo(tokenAddress, chain);
186
186
  };
187
+ /**
188
+ * Resolve a given timestamp to a block number on the HubPool chain.
189
+ * @param timestamp A single timestamp to be resolved to a block number on the HubPool chain.
190
+ * @returns The block number corresponding to the supplied timestamp.
191
+ */
187
192
  HubPoolClient.prototype.getBlockNumber = function (timestamp) {
188
193
  var hints = { lowBlock: this.deploymentBlock };
189
194
  return getCachedBlockForTimestamp(this.chainId, timestamp, this.blockFinder, this.cachingMechanism, hints);
190
195
  };
196
+ /**
197
+ * For an array of timestamps, resolve each unique timestamp to a block number on the HubPool chain.
198
+ * @dev Inputs are filtered for uniqueness and sorted to improve BlockFinder efficiency.
199
+ * @dev Querying block numbers sequentially also improves BlockFinder efficiency.
200
+ * @param timestamps Array of timestamps to be resolved to a block number on the HubPool chain.
201
+ * @returns A mapping of quoteTimestamp -> HubPool block number.
202
+ */
203
+ HubPoolClient.prototype.getBlockNumbers = function (timestamps) {
204
+ return __awaiter(this, void 0, void 0, function () {
205
+ var sortedTimestamps, blockNumbers, _i, sortedTimestamps_1, timestamp, _a, _b;
206
+ return __generator(this, function (_c) {
207
+ switch (_c.label) {
208
+ case 0:
209
+ sortedTimestamps = dedupArray(timestamps).sort(function (x, y) { return x - y; });
210
+ blockNumbers = {};
211
+ _i = 0, sortedTimestamps_1 = sortedTimestamps;
212
+ _c.label = 1;
213
+ case 1:
214
+ if (!(_i < sortedTimestamps_1.length)) return [3 /*break*/, 4];
215
+ timestamp = sortedTimestamps_1[_i];
216
+ _a = blockNumbers;
217
+ _b = timestamp;
218
+ return [4 /*yield*/, this.getBlockNumber(timestamp)];
219
+ case 2:
220
+ _a[_b] = _c.sent();
221
+ _c.label = 3;
222
+ case 3:
223
+ _i++;
224
+ return [3 /*break*/, 1];
225
+ case 4: return [2 /*return*/, blockNumbers];
226
+ }
227
+ });
228
+ });
229
+ };
191
230
  HubPoolClient.prototype.getCurrentPoolUtilization = function (l1Token) {
192
231
  var _a;
193
232
  return __awaiter(this, void 0, void 0, function () {
@@ -287,10 +326,10 @@ var HubPoolClient = /** @class */ (function (_super) {
287
326
  HubPoolClient.prototype.batchComputeRealizedLpFeePct = function (deposits) {
288
327
  var _a;
289
328
  return __awaiter(this, void 0, void 0, function () {
290
- var utilizationTimestamps, utilization, quoteBlocks, hubPoolTokens, getHubPoolToken, getHubPoolTokens, resolveUniqueQuoteTimestamps, resolveTimestampsToBlocks, resolveUtilization, computeRealizedLpFeePct, timeToCache, quoteTimestamps, _b, _c, _d, _e;
329
+ var utilizationTimestamps, utilization, quoteBlocks, hubPoolTokens, getHubPoolToken, getHubPoolTokens, resolveUniqueQuoteTimestamps, resolveUtilization, computeRealizedLpFeePct, timeToCache, quoteTimestamps, _b, _c;
291
330
  var _this = this;
292
- return __generator(this, function (_f) {
293
- switch (_f.label) {
331
+ return __generator(this, function (_d) {
332
+ switch (_d.label) {
294
333
  case 0:
295
334
  assert(deposits.length > 0, "No deposits supplied to batchComputeRealizedLpFeePct");
296
335
  if (!isDefined(this.currentTime)) {
@@ -318,20 +357,6 @@ var HubPoolClient = /** @class */ (function (_super) {
318
357
  utilizationTimestamps[hubPoolToken].push(quoteTimestamp);
319
358
  }
320
359
  };
321
- resolveTimestampsToBlocks = function (quoteTimestamp) { return __awaiter(_this, void 0, void 0, function () {
322
- var quoteBlock;
323
- return __generator(this, function (_a) {
324
- switch (_a.label) {
325
- case 0: return [4 /*yield*/, this.getBlockNumber(quoteTimestamp)];
326
- case 1:
327
- quoteBlock = _a.sent();
328
- if (!isDefined(quoteBlock)) {
329
- throw new Error("Could not find block for timestamp ".concat(quoteTimestamp));
330
- }
331
- return [2 /*return*/, [quoteTimestamp, quoteBlock]];
332
- }
333
- });
334
- }); };
335
360
  resolveUtilization = function (hubPoolToken) { return __awaiter(_this, void 0, void 0, function () {
336
361
  var _a, _b;
337
362
  var _this = this;
@@ -379,17 +404,16 @@ var HubPoolClient = /** @class */ (function (_super) {
379
404
  });
380
405
  }); };
381
406
  timeToCache = (_a = this.configOverride.timeToCache) !== null && _a !== void 0 ? _a : DEFAULT_CACHING_SAFE_LAG;
382
- // Identify the unique hubPoolToken & quoteTimestamp mappings. This is used to optimise subsequent HubPool queries.
383
- deposits.forEach(function (deposit) { return resolveUniqueQuoteTimestamps(deposit); });
384
407
  quoteTimestamps = dedupArray(deposits.map(function (_a) {
385
408
  var quoteTimestamp = _a.quoteTimestamp;
386
409
  return quoteTimestamp;
387
410
  }));
388
- _c = (_b = Object).fromEntries;
389
- return [4 /*yield*/, mapAsync(quoteTimestamps, function (quoteTimestamp) { return resolveTimestampsToBlocks(quoteTimestamp); })];
411
+ return [4 /*yield*/, this.getBlockNumbers(quoteTimestamps)];
390
412
  case 1:
391
- quoteBlocks = _c.apply(_b, [_f.sent()]);
392
- _e = (_d = Object).fromEntries;
413
+ quoteBlocks = _d.sent();
414
+ // Identify the unique hubPoolToken & quoteTimestamp mappings. This is used to optimise subsequent HubPool queries.
415
+ deposits.forEach(function (deposit) { return resolveUniqueQuoteTimestamps(deposit); });
416
+ _c = (_b = Object).fromEntries;
393
417
  return [4 /*yield*/, mapAsync(getHubPoolTokens(), function (hubPoolToken) { return __awaiter(_this, void 0, void 0, function () { var _a; return __generator(this, function (_b) {
394
418
  switch (_b.label) {
395
419
  case 0:
@@ -401,12 +425,12 @@ var HubPoolClient = /** @class */ (function (_super) {
401
425
  case 2:
402
426
  // For each token / quoteBlock pair, resolve the utilisation for each quoted block.
403
427
  // This can be reused for each deposit with the same HubPool token and quoteTimestamp pair.
404
- utilization = _e.apply(_d, [_f.sent()]);
428
+ utilization = _c.apply(_b, [_d.sent()]);
405
429
  return [4 /*yield*/, mapAsync(deposits, function (deposit) { return computeRealizedLpFeePct(deposit); })];
406
430
  case 3:
407
431
  // For each deposit, compute the post-relay HubPool utilisation independently.
408
432
  // @dev The caller expects to receive an array in the same length and ordering as the input `deposits`.
409
- return [2 /*return*/, _f.sent()];
433
+ return [2 /*return*/, _d.sent()];
410
434
  }
411
435
  });
412
436
  });
@@ -749,7 +773,7 @@ var HubPoolClient = /** @class */ (function (_super) {
749
773
  }
750
774
  }
751
775
  if (!eventsToQuery.includes("L1TokenEnabledForLiquidityProvision")) return [3 /*break*/, 3];
752
- uniqueL1Tokens = __spreadArray([], Array.from(new Set(events["L1TokenEnabledForLiquidityProvision"].map(function (event) { return spreadEvent(event.args).l1Token; }))), true);
776
+ uniqueL1Tokens = dedupArray(events["L1TokenEnabledForLiquidityProvision"].map(function (event) { return String(event.args["l1Token"]); }));
753
777
  return [4 /*yield*/, Promise.all([
754
778
  Promise.all(uniqueL1Tokens.map(function (l1Token) { return fetchTokenInfo(l1Token, _this.hubPool.provider); })),
755
779
  Promise.all(uniqueL1Tokens.map(function (l1Token) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"HubPoolClient.js","sourceRoot":"","sources":["../../../src/clients/HubPoolClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubPoolClient.js","sourceRoot":"","sources":["../../../src/clients/HubPoolClient.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { Contract, Event, EventFilter } from "ethers";
1
+ import { Contract, EventFilter } from "ethers";
2
2
  import winston from "winston";
3
3
  import { AnyObject, BigNumber, DefaultLogLevels, EventSearchConfig, MakeOptional } from "../utils";
4
- import { Deposit, DepositWithBlock, Fill, FillStatus, FillWithBlock, RealizedLpFee, RelayData, RelayerRefundExecutionWithBlock, RootBundleRelayWithBlock, SlowFillRequestWithBlock, SpeedUpWithBlock, TokensBridged, V3FundsDepositedEvent } from "../interfaces";
4
+ import { Deposit, DepositWithBlock, Fill, FillStatus, FillWithBlock, Log, RelayData, RelayerRefundExecutionWithBlock, RootBundleRelayWithBlock, SlowFillRequestWithBlock, SpeedUpWithBlock, TokensBridged } from "../interfaces";
5
5
  import { BaseAbstractClient, UpdateFailureReason } from "./BaseAbstractClient";
6
6
  import { HubPoolClient } from "./HubPoolClient";
7
7
  import { AcrossConfigStoreClient } from "./AcrossConfigStoreClient";
@@ -11,7 +11,7 @@ type SpokePoolUpdateSuccess = {
11
11
  oldestTime: number;
12
12
  firstDepositId: number;
13
13
  latestDepositId: number;
14
- events: Event[][];
14
+ events: Log[][];
15
15
  searchEndBlock: number;
16
16
  };
17
17
  type SpokePoolUpdateFailure = {
@@ -275,18 +275,19 @@ export declare class SpokePoolClient extends BaseAbstractClient {
275
275
  */
276
276
  static getExecutedRefundLeafL2Token(chainId: number, eventL2Token: string): string;
277
277
  /**
278
- * Computes the realized LP fee percentage for a given deposit.
279
- * @param depositEvent The deposit event to compute the realized LP fee percentage for.
280
- * @returns The realized LP fee percentage.
278
+ * Resolve a given timestamp to a block number on the HubPool chain via the HubPoolClient.
279
+ * @param timestamp A single timestamp to be resolved via the HubPoolClient.
280
+ * @returns The block number on the HubPool chain corresponding to the supplied timestamp.
281
281
  */
282
- protected computeRealizedLpFeePct(depositEvent: V3FundsDepositedEvent): Promise<RealizedLpFee>;
282
+ protected getBlockNumber(timestamp: number): Promise<number>;
283
283
  /**
284
- * Computes the realized LP fee percentage for a batch of deposits.
285
- * @dev Computing in batch opens up for efficiencies, e.g. in quoteTimestamp -> blockNumber resolution.
286
- * @param depositEvents The array of deposit events to compute the realized LP fee percentage for.
287
- * @returns The array of realized LP fee percentages and associated HubPool block numbers.
284
+ * For an array of timestamps, resolve each timestamp to a block number on the HubPool chain via the HubPoolClient.
285
+ * @param timestamps Array of timestamps to be resolved to a block number via the HubPoolClient.
286
+ * @returns A mapping of quoteTimestamp -> HubPool block number.
288
287
  */
289
- protected batchComputeRealizedLpFeePct(depositEvents: V3FundsDepositedEvent[]): Promise<RealizedLpFee[]>;
288
+ protected getBlockNumbers(timestamps: number[]): Promise<{
289
+ [quoteTimestamp: number]: number;
290
+ }>;
290
291
  /**
291
292
  * Retrieves the destination token for a given deposit.
292
293
  * @param deposit The deposit to retrieve the destination token for.
@@ -447,16 +447,16 @@ var SpokePoolClient = /** @class */ (function (_super) {
447
447
  var _a, _b, _c;
448
448
  if (eventsToQuery === void 0) { eventsToQuery = this.queryableEventNames; }
449
449
  return __awaiter(this, void 0, void 0, function () {
450
- var update, queryResults, currentTime, oldestTime, searchEndBlock, _i, _d, event_1, depositEvents, dataForQuoteTime, _e, _f, _g, index, event_2, rawDeposit, quoteBlockNumber, deposit, speedUpEvents, _h, speedUpEvents_1, event_3, rawEvent, speedUp, depositHash, depositDataAssociatedWithSpeedUp, slowFillRequests, _j, slowFillRequests_1, event_4, slowFillRequest, relayDataHash, fillEvents, _k, fillEvents_1, event_5, fill, enableDepositsEvents, _l, enableDepositsEvents_1, event_6, enableDeposit, relayedRootBundleEvents, _m, relayedRootBundleEvents_1, event_7, refundEvents, _o, refundEvents_1, event_8, executedRefund;
451
- return __generator(this, function (_p) {
452
- switch (_p.label) {
450
+ 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;
451
+ return __generator(this, function (_m) {
452
+ switch (_m.label) {
453
453
  case 0:
454
454
  if (this.hubPoolClient !== null && !this.hubPoolClient.isUpdated) {
455
455
  throw new Error("HubPoolClient not updated");
456
456
  }
457
457
  return [4 /*yield*/, this._update(eventsToQuery)];
458
458
  case 1:
459
- update = _p.sent();
459
+ update = _m.sent();
460
460
  if (!update.success) {
461
461
  return [2 /*return*/];
462
462
  }
@@ -468,20 +468,24 @@ var SpokePoolClient = /** @class */ (function (_super) {
468
468
  }
469
469
  }
470
470
  if (!eventsToQuery.includes("V3FundsDeposited")) return [3 /*break*/, 3];
471
- depositEvents = __spreadArray([], ((_a = queryResults[eventsToQuery.indexOf("V3FundsDeposited")]) !== null && _a !== void 0 ? _a : []), true);
471
+ depositEvents = (_a = queryResults[eventsToQuery.indexOf("V3FundsDeposited")]) !== null && _a !== void 0 ? _a : [];
472
472
  if (depositEvents.length > 0) {
473
473
  this.log("debug", "Using ".concat(depositEvents.length, " newly queried deposit events for chain ").concat(this.chainId), {
474
474
  earliestEvent: depositEvents[0].blockNumber,
475
475
  });
476
476
  }
477
- return [4 /*yield*/, this.batchComputeRealizedLpFeePct(depositEvents)];
477
+ return [4 /*yield*/, this.getBlockNumbers(depositEvents.map(function (_a) {
478
+ var args = _a.args;
479
+ return Number(args["quoteTimestamp"]);
480
+ }))];
478
481
  case 2:
479
- dataForQuoteTime = _p.sent();
480
- for (_e = 0, _f = Array.from(depositEvents.entries()); _e < _f.length; _e++) {
481
- _g = _f[_e], index = _g[0], event_2 = _g[1];
482
- rawDeposit = spreadEventWithBlockNumber(event_2);
483
- quoteBlockNumber = dataForQuoteTime[index].quoteBlock;
484
- deposit = __assign(__assign({}, rawDeposit), { originChainId: this.chainId, quoteBlockNumber: quoteBlockNumber });
482
+ quoteBlockNumbers = _m.sent();
483
+ for (_e = 0, depositEvents_1 = depositEvents; _e < depositEvents_1.length; _e++) {
484
+ event_2 = depositEvents_1[_e];
485
+ quoteBlockNumber = quoteBlockNumbers[Number(event_2.args["quoteTimestamp"])];
486
+ deposit = __assign(__assign({}, spreadEventWithBlockNumber(event_2)), { quoteBlockNumber: quoteBlockNumber, originChainId: this.chainId,
487
+ // The following properties are placeholders to be updated immediately.
488
+ fromLiteChain: true, toLiteChain: true });
485
489
  deposit.fromLiteChain = this.isOriginLiteChain(deposit);
486
490
  deposit.toLiteChain = this.isDestinationLiteChain(deposit);
487
491
  if (deposit.outputToken === ZERO_ADDRESS) {
@@ -498,18 +502,14 @@ var SpokePoolClient = /** @class */ (function (_super) {
498
502
  this.latestDepositIdQueried = deposit.depositId;
499
503
  }
500
504
  }
501
- _p.label = 3;
505
+ _m.label = 3;
502
506
  case 3:
503
- // TODO: When validating fills with deposits for the purposes of UBA flows, do we need to consider
504
- // speed ups as well? For example, do we need to also consider that the speed up is before the fill
505
- // timestamp to be applied for the fill? My brain hurts.
506
507
  // Update deposits with speed up requests from depositor.
507
508
  if (eventsToQuery.includes("RequestedSpeedUpV3Deposit")) {
508
- speedUpEvents = __spreadArray([], ((_b = queryResults[eventsToQuery.indexOf("RequestedSpeedUpV3Deposit")]) !== null && _b !== void 0 ? _b : []), true);
509
- for (_h = 0, speedUpEvents_1 = speedUpEvents; _h < speedUpEvents_1.length; _h++) {
510
- event_3 = speedUpEvents_1[_h];
511
- rawEvent = spreadEventWithBlockNumber(event_3);
512
- speedUp = __assign(__assign({}, rawEvent), { originChainId: this.chainId });
509
+ speedUpEvents = (_b = queryResults[eventsToQuery.indexOf("RequestedSpeedUpV3Deposit")]) !== null && _b !== void 0 ? _b : [];
510
+ for (_f = 0, speedUpEvents_1 = speedUpEvents; _f < speedUpEvents_1.length; _f++) {
511
+ event_3 = speedUpEvents_1[_f];
512
+ speedUp = __assign(__assign({}, spreadEventWithBlockNumber(event_3)), { originChainId: this.chainId });
513
513
  assign(this.speedUps, [speedUp.depositor, speedUp.depositId], [speedUp]);
514
514
  depositHash = this.getDepositHash(speedUp);
515
515
  depositDataAssociatedWithSpeedUp = this.depositHashes[depositHash];
@@ -520,8 +520,8 @@ var SpokePoolClient = /** @class */ (function (_super) {
520
520
  }
521
521
  if (eventsToQuery.includes("RequestedV3SlowFill")) {
522
522
  slowFillRequests = queryResults[eventsToQuery.indexOf("RequestedV3SlowFill")];
523
- for (_j = 0, slowFillRequests_1 = slowFillRequests; _j < slowFillRequests_1.length; _j++) {
524
- event_4 = slowFillRequests_1[_j];
523
+ for (_g = 0, slowFillRequests_1 = slowFillRequests; _g < slowFillRequests_1.length; _g++) {
524
+ event_4 = slowFillRequests_1[_g];
525
525
  slowFillRequest = __assign(__assign({}, spreadEventWithBlockNumber(event_4)), { destinationChainId: this.chainId });
526
526
  relayDataHash = getRelayDataHash(slowFillRequest, this.chainId);
527
527
  if (this.slowFillRequests[relayDataHash] !== undefined) {
@@ -531,7 +531,7 @@ var SpokePoolClient = /** @class */ (function (_super) {
531
531
  }
532
532
  }
533
533
  if (eventsToQuery.includes("FilledV3Relay")) {
534
- fillEvents = __spreadArray([], ((_c = queryResults[eventsToQuery.indexOf("FilledV3Relay")]) !== null && _c !== void 0 ? _c : []), true);
534
+ fillEvents = (_c = queryResults[eventsToQuery.indexOf("FilledV3Relay")]) !== null && _c !== void 0 ? _c : [];
535
535
  if (fillEvents.length > 0) {
536
536
  this.log("debug", "Using ".concat(fillEvents.length, " newly queried fill events for chain ").concat(this.chainId), {
537
537
  earliestEvent: fillEvents[0].blockNumber,
@@ -539,8 +539,8 @@ var SpokePoolClient = /** @class */ (function (_super) {
539
539
  }
540
540
  // @note The type assertions here suppress errors that might arise due to incomplete types. For now, verify via
541
541
  // test that the types are complete. A broader change in strategy for safely unpacking events will be introduced.
542
- for (_k = 0, fillEvents_1 = fillEvents; _k < fillEvents_1.length; _k++) {
543
- event_5 = fillEvents_1[_k];
542
+ for (_h = 0, fillEvents_1 = fillEvents; _h < fillEvents_1.length; _h++) {
543
+ event_5 = fillEvents_1[_h];
544
544
  fill = __assign(__assign({}, spreadEventWithBlockNumber(event_5)), { destinationChainId: this.chainId });
545
545
  assign(this.fills, [fill.originChainId], [fill]);
546
546
  assign(this.depositHashesToFills, [this.getDepositHash(fill)], [fill]);
@@ -548,23 +548,23 @@ var SpokePoolClient = /** @class */ (function (_super) {
548
548
  }
549
549
  if (eventsToQuery.includes("EnabledDepositRoute")) {
550
550
  enableDepositsEvents = queryResults[eventsToQuery.indexOf("EnabledDepositRoute")];
551
- for (_l = 0, enableDepositsEvents_1 = enableDepositsEvents; _l < enableDepositsEvents_1.length; _l++) {
552
- event_6 = enableDepositsEvents_1[_l];
551
+ for (_j = 0, enableDepositsEvents_1 = enableDepositsEvents; _j < enableDepositsEvents_1.length; _j++) {
552
+ event_6 = enableDepositsEvents_1[_j];
553
553
  enableDeposit = spreadEvent(event_6.args);
554
554
  assign(this.depositRoutes, [enableDeposit.originToken, enableDeposit.destinationChainId], enableDeposit.enabled);
555
555
  }
556
556
  }
557
557
  if (eventsToQuery.includes("RelayedRootBundle")) {
558
558
  relayedRootBundleEvents = queryResults[eventsToQuery.indexOf("RelayedRootBundle")];
559
- for (_m = 0, relayedRootBundleEvents_1 = relayedRootBundleEvents; _m < relayedRootBundleEvents_1.length; _m++) {
560
- event_7 = relayedRootBundleEvents_1[_m];
559
+ for (_k = 0, relayedRootBundleEvents_1 = relayedRootBundleEvents; _k < relayedRootBundleEvents_1.length; _k++) {
560
+ event_7 = relayedRootBundleEvents_1[_k];
561
561
  this.rootBundleRelays.push(spreadEventWithBlockNumber(event_7));
562
562
  }
563
563
  }
564
564
  if (eventsToQuery.includes("ExecutedRelayerRefundRoot")) {
565
565
  refundEvents = queryResults[eventsToQuery.indexOf("ExecutedRelayerRefundRoot")];
566
- for (_o = 0, refundEvents_1 = refundEvents; _o < refundEvents_1.length; _o++) {
567
- event_8 = refundEvents_1[_o];
566
+ for (_l = 0, refundEvents_1 = refundEvents; _l < refundEvents_1.length; _l++) {
567
+ event_8 = refundEvents_1[_l];
568
568
  executedRefund = spreadEventWithBlockNumber(event_8);
569
569
  executedRefund.l2TokenAddress = SpokePoolClient.getExecutedRefundLeafL2Token(executedRefund.chainId, executedRefund.l2TokenAddress);
570
570
  this.relayerRefundExecutions.push(executedRefund);
@@ -612,70 +612,22 @@ var SpokePoolClient = /** @class */ (function (_super) {
612
612
  }
613
613
  };
614
614
  /**
615
- * Computes the realized LP fee percentage for a given deposit.
616
- * @param depositEvent The deposit event to compute the realized LP fee percentage for.
617
- * @returns The realized LP fee percentage.
615
+ * Resolve a given timestamp to a block number on the HubPool chain via the HubPoolClient.
616
+ * @param timestamp A single timestamp to be resolved via the HubPoolClient.
617
+ * @returns The block number on the HubPool chain corresponding to the supplied timestamp.
618
618
  */
619
- SpokePoolClient.prototype.computeRealizedLpFeePct = function (depositEvent) {
620
- return __awaiter(this, void 0, void 0, function () {
621
- var lpFee;
622
- return __generator(this, function (_a) {
623
- switch (_a.label) {
624
- case 0: return [4 /*yield*/, this.batchComputeRealizedLpFeePct([depositEvent])];
625
- case 1:
626
- lpFee = (_a.sent())[0];
627
- return [2 /*return*/, lpFee];
628
- }
629
- });
630
- });
619
+ SpokePoolClient.prototype.getBlockNumber = function (timestamp) {
620
+ var _a, _b;
621
+ return (_b = (_a = this.hubPoolClient) === null || _a === void 0 ? void 0 : _a.getBlockNumber(timestamp)) !== null && _b !== void 0 ? _b : Promise.resolve(MAX_BIG_INT.toNumber());
631
622
  };
632
623
  /**
633
- * Computes the realized LP fee percentage for a batch of deposits.
634
- * @dev Computing in batch opens up for efficiencies, e.g. in quoteTimestamp -> blockNumber resolution.
635
- * @param depositEvents The array of deposit events to compute the realized LP fee percentage for.
636
- * @returns The array of realized LP fee percentages and associated HubPool block numbers.
624
+ * For an array of timestamps, resolve each timestamp to a block number on the HubPool chain via the HubPoolClient.
625
+ * @param timestamps Array of timestamps to be resolved to a block number via the HubPoolClient.
626
+ * @returns A mapping of quoteTimestamp -> HubPool block number.
637
627
  */
638
- SpokePoolClient.prototype.batchComputeRealizedLpFeePct = function (depositEvents) {
639
- return __awaiter(this, void 0, void 0, function () {
640
- var realizedLpFeePct_1, quoteBlock_1, deposits, _a;
641
- var _this = this;
642
- return __generator(this, function (_b) {
643
- switch (_b.label) {
644
- case 0:
645
- // If no hub pool client, we're using this for testing. Set quote block very high so that if it's ever
646
- // used to look up a configuration for a block, it will always match with the latest configuration.
647
- if (this.hubPoolClient === null) {
648
- realizedLpFeePct_1 = bnZero;
649
- quoteBlock_1 = MAX_BIG_INT.toNumber();
650
- return [2 /*return*/, depositEvents.map(function () {
651
- return { realizedLpFeePct: realizedLpFeePct_1, quoteBlock: quoteBlock_1 };
652
- })];
653
- }
654
- deposits = depositEvents.map(function (_a) {
655
- var args = _a.args;
656
- // For v3 deposits, leave payment chain ID undefined so we don't compute lp fee since we don't have the
657
- // payment chain ID until we match this deposit with a fill.
658
- var inputToken = args.inputToken, inputAmount = args.inputAmount, quoteTimestamp = args.quoteTimestamp;
659
- return {
660
- inputToken: inputToken,
661
- inputAmount: inputAmount,
662
- originChainId: _this.chainId,
663
- paymentChainId: undefined,
664
- quoteTimestamp: quoteTimestamp,
665
- };
666
- });
667
- if (!(deposits.length > 0)) return [3 /*break*/, 2];
668
- return [4 /*yield*/, this.hubPoolClient.batchComputeRealizedLpFeePct(deposits)];
669
- case 1:
670
- _a = _b.sent();
671
- return [3 /*break*/, 3];
672
- case 2:
673
- _a = [];
674
- _b.label = 3;
675
- case 3: return [2 /*return*/, _a];
676
- }
677
- });
678
- });
628
+ SpokePoolClient.prototype.getBlockNumbers = function (timestamps) {
629
+ var _a, _b;
630
+ return ((_b = (_a = this.hubPoolClient) === null || _a === void 0 ? void 0 : _a.getBlockNumbers(timestamps)) !== null && _b !== void 0 ? _b : Promise.resolve(Object.fromEntries(timestamps.map(function (timestamp) { return [timestamp, MAX_BIG_INT.toNumber()]; }))));
679
631
  };
680
632
  /**
681
633
  * Retrieves the destination token for a given deposit.
@@ -714,12 +666,13 @@ var SpokePoolClient = /** @class */ (function (_super) {
714
666
  };
715
667
  SpokePoolClient.prototype.findDeposit = function (depositId, destinationChainId) {
716
668
  return __awaiter(this, void 0, void 0, function () {
717
- var searchBounds, tStart, query, tStop, event, srcChain, dstChain, partialDeposit, quoteBlockNumber, deposit;
718
- return __generator(this, function (_a) {
719
- switch (_a.label) {
669
+ var searchBounds, tStart, query, tStop, event, srcChain, dstChain, deposit, _a;
670
+ var _b;
671
+ return __generator(this, function (_c) {
672
+ switch (_c.label) {
720
673
  case 0: return [4 /*yield*/, this._getBlockRangeForDepositId(depositId, this.deploymentBlock, this.latestBlockSearched, 7)];
721
674
  case 1:
722
- searchBounds = _a.sent();
675
+ searchBounds = _c.sent();
723
676
  tStart = Date.now();
724
677
  return [4 /*yield*/, paginatedEventQuery(this.spokePool, this.spokePool.filters.V3FundsDeposited(null, null, null, null, null, depositId), {
725
678
  fromBlock: searchBounds.low,
@@ -727,22 +680,26 @@ var SpokePoolClient = /** @class */ (function (_super) {
727
680
  maxBlockLookBack: this.eventSearchConfig.maxBlockLookBack,
728
681
  })];
729
682
  case 2:
730
- query = _a.sent();
683
+ query = _c.sent();
731
684
  tStop = Date.now();
732
- event = query.find(function (deposit) { return deposit.args.depositId === depositId; });
685
+ event = query.find(function (_a) {
686
+ var args = _a.args;
687
+ return args["depositId"] === depositId;
688
+ });
733
689
  if (event === undefined) {
734
690
  srcChain = getNetworkName(this.chainId);
735
691
  dstChain = getNetworkName(destinationChainId);
736
692
  throw new Error("Could not find deposit ".concat(depositId, " for ").concat(dstChain, " fill") +
737
693
  " between ".concat(srcChain, " blocks [").concat(searchBounds.low, ", ").concat(searchBounds.high, "]"));
738
694
  }
739
- partialDeposit = spreadEventWithBlockNumber(event);
740
- return [4 /*yield*/, this.computeRealizedLpFeePct(event)];
695
+ _a = [__assign({}, spreadEventWithBlockNumber(event))];
696
+ _b = { originChainId: this.chainId };
697
+ return [4 /*yield*/, this.getBlockNumber(Number(event.args["quoteTimestamp"]))];
741
698
  case 3:
742
- quoteBlockNumber = (_a.sent()).quoteBlock;
743
- deposit = __assign(__assign({}, partialDeposit), { originChainId: this.chainId, quoteBlockNumber: quoteBlockNumber, outputToken: partialDeposit.outputToken === ZERO_ADDRESS
744
- ? this.getDestinationTokenForDeposit(__assign(__assign({}, partialDeposit), { originChainId: this.chainId }))
745
- : partialDeposit.outputToken });
699
+ deposit = __assign.apply(void 0, _a.concat([(_b.quoteBlockNumber = _c.sent(), _b.fromLiteChain = true, _b.toLiteChain = true, _b)]));
700
+ if (deposit.outputToken === ZERO_ADDRESS) {
701
+ deposit.outputToken = this.getDestinationTokenForDeposit(deposit);
702
+ }
746
703
  deposit.fromLiteChain = this.isOriginLiteChain(deposit);
747
704
  deposit.toLiteChain = this.isDestinationLiteChain(deposit);
748
705
  this.logger.debug({