@across-protocol/sdk 3.2.9 → 3.2.10

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.
@@ -8,7 +8,6 @@ import { AcrossConfigStoreClient } from "./AcrossConfigStoreClient";
8
8
  type SpokePoolUpdateSuccess = {
9
9
  success: true;
10
10
  currentTime: number;
11
- oldestTime: number;
12
11
  firstDepositId: number;
13
12
  latestDepositId: number;
14
13
  events: Log[][];
@@ -26,7 +25,9 @@ export declare class SpokePoolClient extends BaseAbstractClient {
26
25
  readonly chainId: number;
27
26
  deploymentBlock: number;
28
27
  protected currentTime: number;
29
- protected oldestTime: number;
28
+ protected timestamps: {
29
+ [blockNumber: number]: number;
30
+ };
30
31
  protected depositHashes: {
31
32
  [depositHash: string]: DepositWithBlock;
32
33
  };
@@ -116,7 +117,7 @@ export declare class SpokePoolClient extends BaseAbstractClient {
116
117
  protected getDestinationTokenForDeposit(deposit: DepositWithBlock): string;
117
118
  protected log(level: DefaultLogLevels, message: string, data?: AnyObject): void;
118
119
  getCurrentTime(): number;
119
- getOldestTime(): number;
120
+ getTimeAt(blockNumber: number): Promise<number>;
120
121
  findDeposit(depositId: number, destinationChainId: number): Promise<DepositWithBlock>;
121
122
  protected isOriginLiteChain(deposit: DepositWithBlock): boolean;
122
123
  protected isDestinationLiteChain(deposit: DepositWithBlock): boolean;
@@ -2,12 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SpokePoolClient = void 0;
4
4
  var tslib_1 = require("tslib");
5
+ var assert_1 = tslib_1.__importDefault(require("assert"));
5
6
  var utils_1 = require("../utils");
6
7
  var EventUtils_1 = require("../utils/EventUtils");
7
8
  var FlowUtils_1 = require("../utils/FlowUtils");
8
9
  var constants_1 = require("../constants");
9
- var NetworkUtils_1 = require("../utils/NetworkUtils");
10
- var SpokeUtils_1 = require("../utils/SpokeUtils");
11
10
  var BaseAbstractClient_1 = require("./BaseAbstractClient");
12
11
  var SpokePoolClient = (function (_super) {
13
12
  tslib_1.__extends(SpokePoolClient, _super);
@@ -20,7 +19,7 @@ var SpokePoolClient = (function (_super) {
20
19
  _this.chainId = chainId;
21
20
  _this.deploymentBlock = deploymentBlock;
22
21
  _this.currentTime = 0;
23
- _this.oldestTime = 0;
22
+ _this.timestamps = {};
24
23
  _this.depositHashes = {};
25
24
  _this.depositHashesToFills = {};
26
25
  _this.speedUps = {};
@@ -145,7 +144,7 @@ var SpokePoolClient = (function (_super) {
145
144
  }
146
145
  this.logger.debug({
147
146
  at: "SpokePoolClient::getDepositForFill",
148
- message: "Rejected fill for ".concat((0, NetworkUtils_1.getNetworkName)(fill.originChainId), " deposit ").concat(fill.depositId, "."),
147
+ message: "Rejected fill for ".concat((0, utils_1.getNetworkName)(fill.originChainId), " deposit ").concat(fill.depositId, "."),
149
148
  reason: match.reason,
150
149
  deposit: deposit,
151
150
  fill: fill,
@@ -195,10 +194,10 @@ var SpokePoolClient = (function (_super) {
195
194
  return "".concat(event.depositId, "-").concat(event.originChainId);
196
195
  };
197
196
  SpokePoolClient.prototype._getBlockRangeForDepositId = function (targetDepositId, initLow, initHigh, maxSearches) {
198
- return (0, SpokeUtils_1.getBlockRangeForDepositId)(targetDepositId, initLow, initHigh, maxSearches, this);
197
+ return (0, utils_1.getBlockRangeForDepositId)(targetDepositId, initLow, initHigh, maxSearches, this);
199
198
  };
200
199
  SpokePoolClient.prototype._getDepositIdAtBlock = function (blockTag) {
201
- return (0, SpokeUtils_1.getDepositIdAtBlock)(this.spokePool, blockTag);
200
+ return (0, utils_1.getDepositIdAtBlock)(this.spokePool, blockTag);
202
201
  };
203
202
  SpokePoolClient.prototype.getMaxFillDeadlineInRange = function (startBlock, endBlock) {
204
203
  return tslib_1.__awaiter(this, void 0, void 0, function () {
@@ -218,7 +217,7 @@ var SpokePoolClient = (function (_super) {
218
217
  };
219
218
  SpokePoolClient.prototype._update = function (eventsToQuery) {
220
219
  return tslib_1.__awaiter(this, void 0, void 0, function () {
221
- var firstDepositId, searchConfig, reason, eventSearchConfigs, spokePool, timerStart, multicallFunctions, _a, multicallOutput, oldestTime, events, _b, currentTime, numberOfDeposits, errMsg;
220
+ var firstDepositId, searchConfig, reason, eventSearchConfigs, spokePool, timerStart, multicallFunctions, _a, multicallOutput, events, _b, currentTime, numberOfDeposits, errMsg;
222
221
  var _this = this;
223
222
  return tslib_1.__generator(this, function (_c) {
224
223
  switch (_c.label) {
@@ -261,11 +260,10 @@ var SpokePoolClient = (function (_super) {
261
260
  timerStart = Date.now();
262
261
  multicallFunctions = ["getCurrentTime", "numberOfDeposits"];
263
262
  return [4, Promise.all(tslib_1.__spreadArray([
264
- spokePool.callStatic.multicall(multicallFunctions.map(function (f) { return spokePool.interface.encodeFunctionData(f); }), { blockTag: searchConfig.toBlock }),
265
- this.spokePool.getCurrentTime({ blockTag: Math.max(searchConfig.fromBlock, this.deploymentBlock) })
263
+ spokePool.callStatic.multicall(multicallFunctions.map(function (f) { return spokePool.interface.encodeFunctionData(f); }), { blockTag: searchConfig.toBlock })
266
264
  ], eventSearchConfigs.map(function (config) { return (0, EventUtils_1.paginatedEventQuery)(_this.spokePool, config.filter, config.searchConfig); }), true))];
267
265
  case 4:
268
- _a = _c.sent(), multicallOutput = _a[0], oldestTime = _a[1], events = _a.slice(2);
266
+ _a = _c.sent(), multicallOutput = _a[0], events = _a.slice(1);
269
267
  this.log("debug", "Time to query new events from RPC for ".concat(this.chainId, ": ").concat(Date.now() - timerStart, " ms"));
270
268
  _b = multicallFunctions.map(function (fn, idx) { return spokePool.interface.decodeFunctionResult(fn, multicallOutput[idx])[0]; }), currentTime = _b[0], numberOfDeposits = _b[1];
271
269
  if (!utils_1.BigNumber.isBigNumber(currentTime) || currentTime.lt(this.currentTime)) {
@@ -278,7 +276,6 @@ var SpokePoolClient = (function (_super) {
278
276
  return [2, {
279
277
  success: true,
280
278
  currentTime: currentTime.toNumber(),
281
- oldestTime: oldestTime.toNumber(),
282
279
  firstDepositId: firstDepositId,
283
280
  latestDepositId: Math.max(numberOfDeposits - 1, 0),
284
281
  searchEndBlock: searchConfig.toBlock,
@@ -292,7 +289,7 @@ var SpokePoolClient = (function (_super) {
292
289
  var _a, _b, _c;
293
290
  if (eventsToQuery === void 0) { eventsToQuery = this.queryableEventNames; }
294
291
  return tslib_1.__awaiter(this, void 0, void 0, function () {
295
- 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;
292
+ var update, queryResults, currentTime, 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;
296
293
  return tslib_1.__generator(this, function (_m) {
297
294
  switch (_m.label) {
298
295
  case 0:
@@ -305,7 +302,7 @@ var SpokePoolClient = (function (_super) {
305
302
  if (!update.success) {
306
303
  return [2];
307
304
  }
308
- queryResults = update.events, currentTime = update.currentTime, oldestTime = update.oldestTime, searchEndBlock = update.searchEndBlock;
305
+ queryResults = update.events, currentTime = update.currentTime, searchEndBlock = update.searchEndBlock;
309
306
  if (eventsToQuery.includes("TokensBridged")) {
310
307
  for (_i = 0, _d = queryResults[eventsToQuery.indexOf("TokensBridged")]; _i < _d.length; _i++) {
311
308
  event_1 = _d[_i];
@@ -411,8 +408,6 @@ var SpokePoolClient = (function (_super) {
411
408
  }
412
409
  }
413
410
  this.currentTime = currentTime;
414
- if (this.oldestTime === 0)
415
- this.oldestTime = oldestTime;
416
411
  this.firstDepositIdForSpokePool = update.firstDepositId;
417
412
  this.latestBlockSearched = searchEndBlock;
418
413
  this.lastDepositIdForSpokePool = update.latestDepositId;
@@ -459,8 +454,41 @@ var SpokePoolClient = (function (_super) {
459
454
  SpokePoolClient.prototype.getCurrentTime = function () {
460
455
  return this.currentTime;
461
456
  };
462
- SpokePoolClient.prototype.getOldestTime = function () {
463
- return this.oldestTime;
457
+ SpokePoolClient.prototype.getTimeAt = function (blockNumber) {
458
+ var _a;
459
+ var _b;
460
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
461
+ var resolve, _c, _d;
462
+ var _this = this;
463
+ return tslib_1.__generator(this, function (_e) {
464
+ switch (_e.label) {
465
+ case 0:
466
+ (0, assert_1.default)(blockNumber < this.latestBlockSearched);
467
+ resolve = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
468
+ var currentTime;
469
+ return tslib_1.__generator(this, function (_a) {
470
+ switch (_a.label) {
471
+ case 0: return [4, this.spokePool.getCurrentTime({ blockTag: blockNumber })];
472
+ case 1:
473
+ currentTime = _a.sent();
474
+ (0, assert_1.default)(utils_1.BigNumber.isBigNumber(currentTime) && currentTime.lt(utils_1.bnUint32Max));
475
+ return [2, currentTime.toNumber()];
476
+ }
477
+ });
478
+ }); };
479
+ if (!((_a = (_b = this.timestamps)[blockNumber]) !== null && _a !== void 0)) return [3, 1];
480
+ _c = _a;
481
+ return [3, 3];
482
+ case 1:
483
+ _d = blockNumber;
484
+ return [4, resolve()];
485
+ case 2:
486
+ _c = (_b[_d] = _e.sent());
487
+ _e.label = 3;
488
+ case 3: return [2, (_c)];
489
+ }
490
+ });
491
+ });
464
492
  };
465
493
  SpokePoolClient.prototype.findDeposit = function (depositId, destinationChainId) {
466
494
  return tslib_1.__awaiter(this, void 0, void 0, function () {
@@ -485,8 +513,8 @@ var SpokePoolClient = (function (_super) {
485
513
  return args["depositId"] === depositId;
486
514
  });
487
515
  if (event === undefined) {
488
- srcChain = (0, NetworkUtils_1.getNetworkName)(this.chainId);
489
- dstChain = (0, NetworkUtils_1.getNetworkName)(destinationChainId);
516
+ srcChain = (0, utils_1.getNetworkName)(this.chainId);
517
+ dstChain = (0, utils_1.getNetworkName)(destinationChainId);
490
518
  throw new Error("Could not find deposit ".concat(depositId, " for ").concat(dstChain, " fill") +
491
519
  " between ".concat(srcChain, " blocks [").concat(searchBounds.low, ", ").concat(searchBounds.high, "]"));
492
520
  }
@@ -533,7 +561,7 @@ var SpokePoolClient = (function (_super) {
533
561
  });
534
562
  };
535
563
  SpokePoolClient.prototype.relayFillStatus = function (relayData, blockTag, destinationChainId) {
536
- return (0, SpokeUtils_1.relayFillStatus)(this.spokePool, relayData, blockTag, destinationChainId);
564
+ return (0, utils_1.relayFillStatus)(this.spokePool, relayData, blockTag, destinationChainId);
537
565
  };
538
566
  return SpokePoolClient;
539
567
  }(BaseAbstractClient_1.BaseAbstractClient));
@@ -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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"}
@@ -8,7 +8,6 @@ import { AcrossConfigStoreClient } from "./AcrossConfigStoreClient";
8
8
  type SpokePoolUpdateSuccess = {
9
9
  success: true;
10
10
  currentTime: number;
11
- oldestTime: number;
12
11
  firstDepositId: number;
13
12
  latestDepositId: number;
14
13
  events: Log[][];
@@ -30,7 +29,9 @@ export declare class SpokePoolClient extends BaseAbstractClient {
30
29
  readonly chainId: number;
31
30
  deploymentBlock: number;
32
31
  protected currentTime: number;
33
- protected oldestTime: number;
32
+ protected timestamps: {
33
+ [blockNumber: number]: number;
34
+ };
34
35
  protected depositHashes: {
35
36
  [depositHash: string]: DepositWithBlock;
36
37
  };
@@ -307,10 +308,10 @@ export declare class SpokePoolClient extends BaseAbstractClient {
307
308
  */
308
309
  getCurrentTime(): number;
309
310
  /**
310
- * Retrieves the oldest time searched on the SpokePool contract.
311
- * @returns The oldest time searched, which will be 0 if there has been no update() yet.
311
+ * Retrieves the time from the SpokePool contract at a particular block.
312
+ * @returns The time at the specified block tag.
312
313
  */
313
- getOldestTime(): number;
314
+ getTimeAt(blockNumber: number): Promise<number>;
314
315
  findDeposit(depositId: number, destinationChainId: number): Promise<DepositWithBlock>;
315
316
  /**
316
317
  * Determines whether a deposit originates from a lite chain.
@@ -1,10 +1,9 @@
1
1
  import { __assign, __awaiter, __extends, __generator, __spreadArray } from "tslib";
2
- import { BigNumber, bnZero, MAX_BIG_INT, assign, getRelayDataHash, isDefined, toBN, } from "../utils";
2
+ import assert from "assert";
3
+ import { BigNumber, bnZero, bnUint32Max, getBlockRangeForDepositId, getDepositIdAtBlock, getNetworkName, getRelayDataHash, MAX_BIG_INT, relayFillStatus, assign, isDefined, toBN, } from "../utils";
3
4
  import { paginatedEventQuery, sortEventsAscendingInPlace, spreadEvent, spreadEventWithBlockNumber, } from "../utils/EventUtils";
4
5
  import { validateFillForDeposit } from "../utils/FlowUtils";
5
6
  import { ZERO_ADDRESS } from "../constants";
6
- import { getNetworkName } from "../utils/NetworkUtils";
7
- import { getBlockRangeForDepositId, getDepositIdAtBlock, relayFillStatus } from "../utils/SpokeUtils";
8
7
  import { BaseAbstractClient, isUpdateFailureReason } from "./BaseAbstractClient";
9
8
  /**
10
9
  * SpokePoolClient is a client for the SpokePool contract. It is responsible for querying the SpokePool contract
@@ -32,7 +31,7 @@ var SpokePoolClient = /** @class */ (function (_super) {
32
31
  _this.chainId = chainId;
33
32
  _this.deploymentBlock = deploymentBlock;
34
33
  _this.currentTime = 0;
35
- _this.oldestTime = 0;
34
+ _this.timestamps = {};
36
35
  _this.depositHashes = {};
37
36
  _this.depositHashesToFills = {};
38
37
  _this.speedUps = {};
@@ -374,7 +373,7 @@ var SpokePoolClient = /** @class */ (function (_super) {
374
373
  */
375
374
  SpokePoolClient.prototype._update = function (eventsToQuery) {
376
375
  return __awaiter(this, void 0, void 0, function () {
377
- var firstDepositId, searchConfig, reason, eventSearchConfigs, spokePool, timerStart, multicallFunctions, _a, multicallOutput, oldestTime, events, _b, currentTime, numberOfDeposits, errMsg;
376
+ var firstDepositId, searchConfig, reason, eventSearchConfigs, spokePool, timerStart, multicallFunctions, _a, multicallOutput, events, _b, currentTime, numberOfDeposits, errMsg;
378
377
  var _this = this;
379
378
  return __generator(this, function (_c) {
380
379
  switch (_c.label) {
@@ -420,11 +419,10 @@ var SpokePoolClient = /** @class */ (function (_super) {
420
419
  timerStart = Date.now();
421
420
  multicallFunctions = ["getCurrentTime", "numberOfDeposits"];
422
421
  return [4 /*yield*/, Promise.all(__spreadArray([
423
- spokePool.callStatic.multicall(multicallFunctions.map(function (f) { return spokePool.interface.encodeFunctionData(f); }), { blockTag: searchConfig.toBlock }),
424
- this.spokePool.getCurrentTime({ blockTag: Math.max(searchConfig.fromBlock, this.deploymentBlock) })
422
+ spokePool.callStatic.multicall(multicallFunctions.map(function (f) { return spokePool.interface.encodeFunctionData(f); }), { blockTag: searchConfig.toBlock })
425
423
  ], eventSearchConfigs.map(function (config) { return paginatedEventQuery(_this.spokePool, config.filter, config.searchConfig); }), true))];
426
424
  case 4:
427
- _a = _c.sent(), multicallOutput = _a[0], oldestTime = _a[1], events = _a.slice(2);
425
+ _a = _c.sent(), multicallOutput = _a[0], events = _a.slice(1);
428
426
  this.log("debug", "Time to query new events from RPC for ".concat(this.chainId, ": ").concat(Date.now() - timerStart, " ms"));
429
427
  _b = multicallFunctions.map(function (fn, idx) { return spokePool.interface.decodeFunctionResult(fn, multicallOutput[idx])[0]; }), currentTime = _b[0], numberOfDeposits = _b[1];
430
428
  if (!BigNumber.isBigNumber(currentTime) || currentTime.lt(this.currentTime)) {
@@ -438,7 +436,6 @@ var SpokePoolClient = /** @class */ (function (_super) {
438
436
  return [2 /*return*/, {
439
437
  success: true,
440
438
  currentTime: currentTime.toNumber(),
441
- oldestTime: oldestTime.toNumber(),
442
439
  firstDepositId: firstDepositId,
443
440
  latestDepositId: Math.max(numberOfDeposits - 1, 0),
444
441
  searchEndBlock: searchConfig.toBlock,
@@ -460,7 +457,7 @@ var SpokePoolClient = /** @class */ (function (_super) {
460
457
  var _a, _b, _c;
461
458
  if (eventsToQuery === void 0) { eventsToQuery = this.queryableEventNames; }
462
459
  return __awaiter(this, void 0, void 0, function () {
463
- 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;
460
+ var update, queryResults, currentTime, 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;
464
461
  return __generator(this, function (_m) {
465
462
  switch (_m.label) {
466
463
  case 0:
@@ -473,7 +470,7 @@ var SpokePoolClient = /** @class */ (function (_super) {
473
470
  if (!update.success) {
474
471
  return [2 /*return*/];
475
472
  }
476
- queryResults = update.events, currentTime = update.currentTime, oldestTime = update.oldestTime, searchEndBlock = update.searchEndBlock;
473
+ queryResults = update.events, currentTime = update.currentTime, searchEndBlock = update.searchEndBlock;
477
474
  if (eventsToQuery.includes("TokensBridged")) {
478
475
  for (_i = 0, _d = queryResults[eventsToQuery.indexOf("TokensBridged")]; _i < _d.length; _i++) {
479
476
  event_1 = _d[_i];
@@ -585,8 +582,6 @@ var SpokePoolClient = /** @class */ (function (_super) {
585
582
  }
586
583
  // Next iteration should start off from where this one ended.
587
584
  this.currentTime = currentTime;
588
- if (this.oldestTime === 0)
589
- this.oldestTime = oldestTime; // Set oldest time only after the first update.
590
585
  this.firstDepositIdForSpokePool = update.firstDepositId;
591
586
  this.latestBlockSearched = searchEndBlock;
592
587
  this.lastDepositIdForSpokePool = update.latestDepositId;
@@ -671,11 +666,44 @@ var SpokePoolClient = /** @class */ (function (_super) {
671
666
  return this.currentTime;
672
667
  };
673
668
  /**
674
- * Retrieves the oldest time searched on the SpokePool contract.
675
- * @returns The oldest time searched, which will be 0 if there has been no update() yet.
669
+ * Retrieves the time from the SpokePool contract at a particular block.
670
+ * @returns The time at the specified block tag.
676
671
  */
677
- SpokePoolClient.prototype.getOldestTime = function () {
678
- return this.oldestTime;
672
+ SpokePoolClient.prototype.getTimeAt = function (blockNumber) {
673
+ var _a;
674
+ var _b;
675
+ return __awaiter(this, void 0, void 0, function () {
676
+ var resolve, _c, _d;
677
+ var _this = this;
678
+ return __generator(this, function (_e) {
679
+ switch (_e.label) {
680
+ case 0:
681
+ assert(blockNumber < this.latestBlockSearched);
682
+ resolve = function () { return __awaiter(_this, void 0, void 0, function () {
683
+ var currentTime;
684
+ return __generator(this, function (_a) {
685
+ switch (_a.label) {
686
+ case 0: return [4 /*yield*/, this.spokePool.getCurrentTime({ blockTag: blockNumber })];
687
+ case 1:
688
+ currentTime = _a.sent();
689
+ assert(BigNumber.isBigNumber(currentTime) && currentTime.lt(bnUint32Max));
690
+ return [2 /*return*/, currentTime.toNumber()];
691
+ }
692
+ });
693
+ }); };
694
+ if (!((_a = (_b = this.timestamps)[blockNumber]) !== null && _a !== void 0)) return [3 /*break*/, 1];
695
+ _c = _a;
696
+ return [3 /*break*/, 3];
697
+ case 1:
698
+ _d = blockNumber;
699
+ return [4 /*yield*/, resolve()];
700
+ case 2:
701
+ _c = (_b[_d] = _e.sent());
702
+ _e.label = 3;
703
+ case 3: return [2 /*return*/, (_c)];
704
+ }
705
+ });
706
+ });
679
707
  };
680
708
  SpokePoolClient.prototype.findDeposit = function (depositId, destinationChainId) {
681
709
  return __awaiter(this, void 0, void 0, function () {
@@ -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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"}
@@ -8,7 +8,6 @@ import { AcrossConfigStoreClient } from "./AcrossConfigStoreClient";
8
8
  type SpokePoolUpdateSuccess = {
9
9
  success: true;
10
10
  currentTime: number;
11
- oldestTime: number;
12
11
  firstDepositId: number;
13
12
  latestDepositId: number;
14
13
  events: Log[][];
@@ -30,7 +29,9 @@ export declare class SpokePoolClient extends BaseAbstractClient {
30
29
  readonly chainId: number;
31
30
  deploymentBlock: number;
32
31
  protected currentTime: number;
33
- protected oldestTime: number;
32
+ protected timestamps: {
33
+ [blockNumber: number]: number;
34
+ };
34
35
  protected depositHashes: {
35
36
  [depositHash: string]: DepositWithBlock;
36
37
  };
@@ -307,10 +308,10 @@ export declare class SpokePoolClient extends BaseAbstractClient {
307
308
  */
308
309
  getCurrentTime(): number;
309
310
  /**
310
- * Retrieves the oldest time searched on the SpokePool contract.
311
- * @returns The oldest time searched, which will be 0 if there has been no update() yet.
311
+ * Retrieves the time from the SpokePool contract at a particular block.
312
+ * @returns The time at the specified block tag.
312
313
  */
313
- getOldestTime(): number;
314
+ getTimeAt(blockNumber: number): Promise<number>;
314
315
  findDeposit(depositId: number, destinationChainId: number): Promise<DepositWithBlock>;
315
316
  /**
316
317
  * Determines whether a deposit originates from a lite chain.
@@ -1 +1 @@
1
- {"version":3,"file":"SpokePoolClient.d.ts","sourceRoot":"","sources":["../../../src/clients/SpokePoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EACL,SAAS,EACT,SAAS,EAET,gBAAgB,EAChB,iBAAiB,EAEjB,YAAY,EAKb,MAAM,UAAU,CAAC;AASlB,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACV,aAAa,EACb,GAAG,EACH,SAAS,EACT,+BAA+B,EAC/B,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACd,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,kBAAkB,EAAyB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;AAE9E;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;IA6BnD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM;IAC/B,QAAQ,CAAC,SAAS,EAAE,QAAQ;IAE5B,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM;IACjB,eAAe,EAAE,MAAM;IAjChC,SAAS,CAAC,WAAW,SAAK;IAC1B,SAAS,CAAC,UAAU,SAAK;IACzB,SAAS,CAAC,aAAa,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAM;IAC1E,SAAS,CAAC,oBAAoB,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE,CAAA;KAAE,CAAM;IAChF,SAAS,CAAC,QAAQ,EAAE;QAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAAE,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;SAAE,CAAA;KAAE,CAAM;IACrG,SAAS,CAAC,gBAAgB,EAAE;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,wBAAwB,CAAA;KAAE,CAAM;IACvF,SAAS,CAAC,aAAa,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG;YAAE,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAA;SAAE,CAAA;KAAE,CAAM;IACnG,SAAS,CAAC,aAAa,EAAE,aAAa,EAAE,CAAM;IAC9C,SAAS,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,CAAM;IAC5D,SAAS,CAAC,uBAAuB,EAAE,+BAA+B,EAAE,CAAM;IAC1E,SAAS,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAM;IAC7C,SAAS,CAAC,iBAAiB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC1D,wBAAwB,SAA2B;IACnD,sBAAsB,SAAK;IAC3B,0BAA0B,SAA2B;IACrD,yBAAyB,SAA2B;IACpD,KAAK,EAAE;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,CAAA;KAAE,CAAM;IAEhE;;;;;;;;OAQG;gBAEQ,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,SAAS,EAAE,QAAQ,EAEnB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EAC9B,iBAAiB,GAAE,YAAY,CAAC,iBAAiB,EAAE,SAAS,CAAyC;IAShG,oBAAoB,IAAI;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE;IAkBnE;;;;OAIG;IACI,8BAA8B,CAAC,kBAAkB,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAIrF;;;;OAIG;IACI,WAAW,CAAC,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,EAAE;IAUvF;;;OAGG;IACI,gBAAgB,IAAI,aAAa,EAAE;IAI1C;;;OAGG;IACI,gBAAgB,IAAI;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG;YAAE,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAA;SAAE,CAAA;KAAE;IAI/F;;;OAGG;IACI,QAAQ,IAAI,aAAa,EAAE;IAIlC;;;;OAIG;IACI,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE;IAIrE;;;;OAIG;IACI,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE;IAI3D;;;;;OAKG;IACI,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE;IAI5F;;;OAGG;IACI,mBAAmB,IAAI,wBAAwB,EAAE;IAIxD;;;OAGG;IACI,qBAAqB,IAAI,MAAM;IAMtC;;;OAGG;IACI,0BAA0B,IAAI,+BAA+B,EAAE;IAItE;;;;OAIG;IACI,kCAAkC,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IA6BtF;;;;;OAKG;IACI,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAKlE;;;;OAIG;IACI,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,wBAAwB,GAAG,SAAS;IAKrF;;;;OAIG;IACI,iCAAiC,CAAC,aAAa,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAM3F;;;OAGG;IACI,WAAW,IAAI;QAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAAE,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;SAAE,CAAA;KAAE;IAIjG;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,gBAAgB,GAAG,SAAS;IAkBlE;;;;OAIG;IACI,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS;IAKrE;;;;;;OAMG;IACI,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG;QACzD,cAAc,EAAE,SAAS,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,IAAI,EAAE,CAAC;KACtB;IA8CD;;;;;;OAMG;IACI,cAAc,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAIlF;;;;;;;;;;;;;;OAcG;IACI,0BAA0B,CAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAIF;;;;OAIG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9D;;;;;;;;;;;;OAYG;IACU,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ7F;;;;;OAKG;cACa,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAgF1E;;;;;;;OAOG;IACU,MAAM,CAAC,aAAa,WAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAyK5E;;;;;OAKG;WACW,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAkBzF;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5D;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAO9F;;;;OAIG;IACH,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;IAS1E;;;;;OAKG;IACH,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS;IAIxE;;;OAGG;IACI,cAAc,IAAI,MAAM;IAI/B;;;OAGG;IACI,aAAa,IAAI,MAAM;IAIxB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8D3F;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAI/D;;;;;OAKG;IACH,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAMvD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKpE;;;;;OAKG;IACI,eAAe,CACpB,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,EAC5B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,UAAU,CAAC;CAGvB"}
1
+ {"version":3,"file":"SpokePoolClient.d.ts","sourceRoot":"","sources":["../../../src/clients/SpokePoolClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@across-protocol/sdk",
3
3
  "author": "UMA Team",
4
- "version": "3.2.9",
4
+ "version": "3.2.10",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -1,15 +1,21 @@
1
+ import assert from "assert";
1
2
  import { Contract, EventFilter } from "ethers";
2
3
  import winston from "winston";
3
4
  import {
4
5
  AnyObject,
5
6
  BigNumber,
6
7
  bnZero,
8
+ bnUint32Max,
7
9
  DefaultLogLevels,
8
10
  EventSearchConfig,
11
+ getBlockRangeForDepositId,
12
+ getDepositIdAtBlock,
13
+ getNetworkName,
14
+ getRelayDataHash,
9
15
  MAX_BIG_INT,
10
16
  MakeOptional,
17
+ relayFillStatus,
11
18
  assign,
12
- getRelayDataHash,
13
19
  isDefined,
14
20
  toBN,
15
21
  } from "../utils";
@@ -36,8 +42,6 @@ import {
36
42
  TokensBridged,
37
43
  } from "../interfaces";
38
44
  import { SpokePool } from "../typechain";
39
- import { getNetworkName } from "../utils/NetworkUtils";
40
- import { getBlockRangeForDepositId, getDepositIdAtBlock, relayFillStatus } from "../utils/SpokeUtils";
41
45
  import { BaseAbstractClient, isUpdateFailureReason, UpdateFailureReason } from "./BaseAbstractClient";
42
46
  import { HubPoolClient } from "./HubPoolClient";
43
47
  import { AcrossConfigStoreClient } from "./AcrossConfigStoreClient";
@@ -45,7 +49,6 @@ import { AcrossConfigStoreClient } from "./AcrossConfigStoreClient";
45
49
  type SpokePoolUpdateSuccess = {
46
50
  success: true;
47
51
  currentTime: number;
48
- oldestTime: number;
49
52
  firstDepositId: number;
50
53
  latestDepositId: number;
51
54
  events: Log[][];
@@ -63,7 +66,7 @@ export type SpokePoolUpdate = SpokePoolUpdateSuccess | SpokePoolUpdateFailure;
63
66
  */
64
67
  export class SpokePoolClient extends BaseAbstractClient {
65
68
  protected currentTime = 0;
66
- protected oldestTime = 0;
69
+ protected timestamps: { [blockNumber: number]: number } = {};
67
70
  protected depositHashes: { [depositHash: string]: DepositWithBlock } = {};
68
71
  protected depositHashesToFills: { [depositHash: string]: FillWithBlock[] } = {};
69
72
  protected speedUps: { [depositorAddress: string]: { [depositId: number]: SpeedUpWithBlock[] } } = {};
@@ -508,12 +511,11 @@ export class SpokePoolClient extends BaseAbstractClient {
508
511
 
509
512
  const timerStart = Date.now();
510
513
  const multicallFunctions = ["getCurrentTime", "numberOfDeposits"];
511
- const [multicallOutput, oldestTime, ...events] = await Promise.all([
514
+ const [multicallOutput, ...events] = await Promise.all([
512
515
  spokePool.callStatic.multicall(
513
516
  multicallFunctions.map((f) => spokePool.interface.encodeFunctionData(f)),
514
517
  { blockTag: searchConfig.toBlock }
515
518
  ),
516
- this.spokePool.getCurrentTime({ blockTag: Math.max(searchConfig.fromBlock, this.deploymentBlock) }),
517
519
  ...eventSearchConfigs.map((config) => paginatedEventQuery(this.spokePool, config.filter, config.searchConfig)),
518
520
  ]);
519
521
  this.log("debug", `Time to query new events from RPC for ${this.chainId}: ${Date.now() - timerStart} ms`);
@@ -535,7 +537,6 @@ export class SpokePoolClient extends BaseAbstractClient {
535
537
  return {
536
538
  success: true,
537
539
  currentTime: currentTime.toNumber(), // uint32
538
- oldestTime: oldestTime.toNumber(),
539
540
  firstDepositId,
540
541
  latestDepositId: Math.max(numberOfDeposits - 1, 0),
541
542
  searchEndBlock: searchConfig.toBlock,
@@ -560,7 +561,7 @@ export class SpokePoolClient extends BaseAbstractClient {
560
561
  if (!update.success) {
561
562
  return;
562
563
  }
563
- const { events: queryResults, currentTime, oldestTime, searchEndBlock } = update;
564
+ const { events: queryResults, currentTime, searchEndBlock } = update;
564
565
 
565
566
  if (eventsToQuery.includes("TokensBridged")) {
566
567
  for (const event of queryResults[eventsToQuery.indexOf("TokensBridged")]) {
@@ -708,7 +709,6 @@ export class SpokePoolClient extends BaseAbstractClient {
708
709
 
709
710
  // Next iteration should start off from where this one ended.
710
711
  this.currentTime = currentTime;
711
- if (this.oldestTime === 0) this.oldestTime = oldestTime; // Set oldest time only after the first update.
712
712
  this.firstDepositIdForSpokePool = update.firstDepositId;
713
713
  this.latestBlockSearched = searchEndBlock;
714
714
  this.lastDepositIdForSpokePool = update.latestDepositId;
@@ -798,11 +798,19 @@ export class SpokePoolClient extends BaseAbstractClient {
798
798
  }
799
799
 
800
800
  /**
801
- * Retrieves the oldest time searched on the SpokePool contract.
802
- * @returns The oldest time searched, which will be 0 if there has been no update() yet.
801
+ * Retrieves the time from the SpokePool contract at a particular block.
802
+ * @returns The time at the specified block tag.
803
803
  */
804
- public getOldestTime(): number {
805
- return this.oldestTime;
804
+ public async getTimeAt(blockNumber: number): Promise<number> {
805
+ assert(blockNumber < this.latestBlockSearched);
806
+
807
+ const resolve = async () => {
808
+ const currentTime = await this.spokePool.getCurrentTime({ blockTag: blockNumber });
809
+ assert(BigNumber.isBigNumber(currentTime) && currentTime.lt(bnUint32Max));
810
+ return currentTime.toNumber();
811
+ };
812
+
813
+ return (this.timestamps[blockNumber] ??= await resolve());
806
814
  }
807
815
 
808
816
  async findDeposit(depositId: number, destinationChainId: number): Promise<DepositWithBlock> {