@across-protocol/sdk 4.1.32 → 4.1.33

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 (96) hide show
  1. package/dist/cjs/arch/evm/index.d.ts +1 -0
  2. package/dist/cjs/arch/evm/index.js +5 -0
  3. package/dist/cjs/arch/evm/index.js.map +1 -0
  4. package/dist/cjs/arch/index.d.ts +2 -0
  5. package/dist/cjs/arch/index.js +7 -0
  6. package/dist/cjs/arch/index.js.map +1 -0
  7. package/dist/cjs/arch/svm/index.d.ts +1 -0
  8. package/dist/cjs/arch/svm/index.js +5 -0
  9. package/dist/cjs/arch/svm/index.js.map +1 -0
  10. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +24 -3
  11. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  12. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +2 -2
  13. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +19 -0
  14. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +170 -0
  15. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -0
  16. package/dist/cjs/clients/{SpokePoolClient.d.ts → SpokePoolClient/SpokePoolClient.d.ts} +17 -22
  17. package/dist/cjs/clients/{SpokePoolClient.js → SpokePoolClient/SpokePoolClient.js} +24 -174
  18. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -0
  19. package/dist/cjs/clients/SpokePoolClient/index.d.ts +5 -0
  20. package/dist/cjs/clients/SpokePoolClient/index.js +13 -0
  21. package/dist/cjs/clients/SpokePoolClient/index.js.map +1 -0
  22. package/dist/cjs/clients/index.d.ts +1 -1
  23. package/dist/cjs/clients/index.js +2 -1
  24. package/dist/cjs/clients/index.js.map +1 -1
  25. package/dist/cjs/clients/mocks/MockSpokePoolClient.d.ts +2 -2
  26. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +1 -1
  27. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  28. package/dist/cjs/utils/BundleUtils.js +7 -7
  29. package/dist/cjs/utils/BundleUtils.js.map +1 -1
  30. package/dist/esm/arch/evm/index.d.ts +1 -0
  31. package/dist/esm/arch/evm/index.js +2 -0
  32. package/dist/esm/arch/evm/index.js.map +1 -0
  33. package/dist/esm/arch/index.d.ts +2 -0
  34. package/dist/esm/arch/index.js +5 -0
  35. package/dist/esm/arch/index.js.map +1 -0
  36. package/dist/esm/arch/svm/index.d.ts +1 -0
  37. package/dist/esm/arch/svm/index.js +2 -0
  38. package/dist/esm/arch/svm/index.js.map +1 -0
  39. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +30 -3
  40. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  41. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +2 -2
  42. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +22 -0
  43. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +174 -0
  44. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -0
  45. package/dist/{types/clients → esm/clients/SpokePoolClient}/SpokePoolClient.d.ts +58 -57
  46. package/dist/esm/clients/{SpokePoolClient.js → SpokePoolClient/SpokePoolClient.js} +22 -212
  47. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -0
  48. package/dist/esm/clients/SpokePoolClient/index.d.ts +10 -0
  49. package/dist/esm/clients/SpokePoolClient/index.js +12 -0
  50. package/dist/esm/clients/SpokePoolClient/index.js.map +1 -0
  51. package/dist/esm/clients/index.d.ts +1 -1
  52. package/dist/esm/clients/index.js +1 -1
  53. package/dist/esm/clients/index.js.map +1 -1
  54. package/dist/esm/clients/mocks/MockSpokePoolClient.d.ts +2 -2
  55. package/dist/esm/clients/mocks/MockSpokePoolClient.js +2 -2
  56. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  57. package/dist/esm/utils/BundleUtils.js +7 -7
  58. package/dist/esm/utils/BundleUtils.js.map +1 -1
  59. package/dist/esm/utils/abi/typechain/Multicall3.d.ts +1 -4
  60. package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js.map +1 -1
  61. package/dist/types/arch/evm/index.d.ts +2 -0
  62. package/dist/types/arch/evm/index.d.ts.map +1 -0
  63. package/dist/types/arch/index.d.ts +3 -0
  64. package/dist/types/arch/index.d.ts.map +1 -0
  65. package/dist/types/arch/svm/index.d.ts +2 -0
  66. package/dist/types/arch/svm/index.d.ts.map +1 -0
  67. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
  68. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +2 -2
  69. package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +23 -0
  70. package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -0
  71. package/dist/{esm/clients → types/clients/SpokePoolClient}/SpokePoolClient.d.ts +59 -56
  72. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -0
  73. package/dist/types/clients/SpokePoolClient/index.d.ts +11 -0
  74. package/dist/types/clients/SpokePoolClient/index.d.ts.map +1 -0
  75. package/dist/types/clients/index.d.ts +1 -1
  76. package/dist/types/clients/index.d.ts.map +1 -1
  77. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts +2 -2
  78. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
  79. package/dist/types/utils/abi/typechain/Multicall3.d.ts +1 -4
  80. package/dist/types/utils/abi/typechain/Multicall3.d.ts.map +1 -1
  81. package/dist/types/utils/abi/typechain/common.d.ts.map +1 -1
  82. package/dist/types/utils/abi/typechain/factories/Multicall3__factory.d.ts.map +1 -1
  83. package/package.json +4 -3
  84. package/src/arch/evm/index.ts +1 -0
  85. package/src/arch/index.ts +2 -0
  86. package/src/arch/svm/index.ts +1 -0
  87. package/src/clients/BundleDataClient/BundleDataClient.ts +29 -1
  88. package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +206 -0
  89. package/src/clients/{SpokePoolClient.ts → SpokePoolClient/SpokePoolClient.ts} +87 -237
  90. package/src/clients/SpokePoolClient/index.ts +14 -0
  91. package/src/clients/index.ts +1 -1
  92. package/src/clients/mocks/MockSpokePoolClient.ts +2 -2
  93. package/src/utils/BundleUtils.ts +6 -6
  94. package/dist/cjs/clients/SpokePoolClient.js.map +0 -1
  95. package/dist/esm/clients/SpokePoolClient.js.map +0 -1
  96. package/dist/types/clients/SpokePoolClient.d.ts.map +0 -1
@@ -1,4 +1,3 @@
1
- import { Contract, EventFilter } from "ethers";
2
1
  import winston from "winston";
3
2
  import {
4
3
  AnyObject,
@@ -11,24 +10,21 @@ import {
11
10
  MakeOptional,
12
11
  assign,
13
12
  getRelayEventKey,
14
- InvalidFill,
15
13
  isDefined,
16
- toBN,
17
14
  getMessageHash,
18
15
  isSlowFill,
19
16
  isValidEvmAddress,
20
17
  isZeroAddress,
21
18
  toAddress,
22
19
  validateFillForDeposit,
23
- } from "../utils";
20
+ } from "../../utils";
24
21
  import {
25
22
  duplicateEvent,
26
- paginatedEventQuery,
27
23
  sortEventsAscendingInPlace,
28
24
  spreadEvent,
29
25
  spreadEventWithBlockNumber,
30
- } from "../utils/EventUtils";
31
- import { ZERO_ADDRESS } from "../constants";
26
+ } from "../../utils/EventUtils";
27
+ import { ZERO_ADDRESS } from "../../constants";
32
28
  import {
33
29
  Deposit,
34
30
  DepositWithBlock,
@@ -42,37 +38,44 @@ import {
42
38
  SlowFillRequestWithBlock,
43
39
  SpeedUpWithBlock,
44
40
  TokensBridged,
45
- } from "../interfaces";
46
- import { getNetworkName } from "../utils/NetworkUtils";
47
- import {
48
- findDepositBlock,
49
- getMaxFillDeadlineInRange as getMaxFillDeadline,
50
- getTimeAt as _getTimeAt,
51
- getTimestampForBlock as _getTimestampForBlock,
52
- relayFillStatus,
53
- } from "../utils/SpokeUtils";
54
- import { BaseAbstractClient, isUpdateFailureReason, UpdateFailureReason } from "./BaseAbstractClient";
55
- import { HubPoolClient } from "./HubPoolClient";
56
- import { AcrossConfigStoreClient } from "./AcrossConfigStoreClient";
57
- import { getRepaymentChainId, forceDestinationRepayment } from "./BundleDataClient/utils/FillUtils";
58
-
59
- type SpokePoolUpdateSuccess = {
41
+ } from "../../interfaces";
42
+ import { BaseAbstractClient, UpdateFailureReason } from "../BaseAbstractClient";
43
+ import { AcrossConfigStoreClient } from "../AcrossConfigStoreClient";
44
+ import { getRepaymentChainId, forceDestinationRepayment } from "../BundleDataClient";
45
+ import { HubPoolClient } from "../HubPoolClient";
46
+
47
+ export type SpokePoolUpdateSuccess = {
60
48
  success: true;
61
49
  currentTime: number;
62
50
  events: Log[][];
63
51
  searchEndBlock: number;
64
52
  };
65
- type SpokePoolUpdateFailure = {
53
+ export type SpokePoolUpdateFailure = {
66
54
  success: false;
67
55
  reason: UpdateFailureReason;
68
56
  };
69
57
  export type SpokePoolUpdate = SpokePoolUpdateSuccess | SpokePoolUpdateFailure;
70
58
 
59
+ export const knownEventNames = [
60
+ "EnabledDepositRoute",
61
+ "TokensBridged",
62
+ "RelayedRootBundle",
63
+ "ExecutedRelayerRefundRoot",
64
+ "V3FundsDeposited",
65
+ "FundsDeposited",
66
+ "RequestedSpeedUpV3Deposit",
67
+ "RequestedSpeedUpDeposit",
68
+ "RequestedV3SlowFill",
69
+ "RequestedSlowFill",
70
+ "FilledV3Relay",
71
+ "FilledRelay",
72
+ ];
73
+
71
74
  /**
72
75
  * SpokePoolClient is a client for the SpokePool contract. It is responsible for querying the SpokePool contract
73
76
  * for events and storing them in memory. It also provides some convenience methods for querying the stored events.
74
77
  */
75
- export class SpokePoolClient extends BaseAbstractClient {
78
+ export abstract class SpokePoolClient extends BaseAbstractClient {
76
79
  protected currentTime = 0;
77
80
  protected depositHashes: { [depositHash: string]: DepositWithBlock } = {};
78
81
  protected duplicateDepositHashes: { [depositHash: string]: DepositWithBlock[] } = {};
@@ -83,7 +86,6 @@ export class SpokePoolClient extends BaseAbstractClient {
83
86
  protected tokensBridged: TokensBridged[] = [];
84
87
  protected rootBundleRelays: RootBundleRelayWithBlock[] = [];
85
88
  protected relayerRefundExecutions: RelayerRefundExecutionWithBlock[] = [];
86
- protected queryableEventNames: string[] = [];
87
89
  protected configStoreClient: AcrossConfigStoreClient | undefined;
88
90
  protected invalidFills: Set<string> = new Set();
89
91
  public fills: { [OriginChainId: number]: FillWithBlock[] } = {};
@@ -91,15 +93,13 @@ export class SpokePoolClient extends BaseAbstractClient {
91
93
  /**
92
94
  * Creates a new SpokePoolClient.
93
95
  * @param logger A logger instance.
94
- * @param spokePool The SpokePool contract instance that this client will query.
95
96
  * @param hubPoolClient An optional HubPoolClient instance. This is used to fetch spoke data that is not stored on the SpokePool contract but is stored on the HubPool contract.
96
97
  * @param chainId The chain ID of the chain that this client is querying.
97
98
  * @param deploymentBlock The block number that the SpokePool contract was deployed at.
98
99
  * @param eventSearchConfig An optional EventSearchConfig object that controls how far back in history the client will search for events. If not provided, the client will only search for events from the deployment block.
99
100
  */
100
- constructor(
101
+ protected constructor(
101
102
  readonly logger: winston.Logger,
102
- readonly spokePool: Contract,
103
103
  // Can be excluded. This disables some deposit validation.
104
104
  readonly hubPoolClient: HubPoolClient | null,
105
105
  readonly chainId: number,
@@ -109,32 +109,9 @@ export class SpokePoolClient extends BaseAbstractClient {
109
109
  super(eventSearchConfig);
110
110
  this.firstBlockToSearch = eventSearchConfig.fromBlock;
111
111
  this.latestBlockSearched = 0;
112
- this.queryableEventNames = Object.keys(this._queryableEventNames());
113
112
  this.configStoreClient = hubPoolClient?.configStoreClient;
114
113
  }
115
114
 
116
- public _queryableEventNames(): { [eventName: string]: EventFilter } {
117
- const knownEventNames = [
118
- "EnabledDepositRoute",
119
- "TokensBridged",
120
- "RelayedRootBundle",
121
- "ExecutedRelayerRefundRoot",
122
- "V3FundsDeposited",
123
- "FundsDeposited",
124
- "RequestedSpeedUpV3Deposit",
125
- "RequestedSpeedUpDeposit",
126
- "RequestedV3SlowFill",
127
- "RequestedSlowFill",
128
- "FilledV3Relay",
129
- "FilledRelay",
130
- ];
131
- return Object.fromEntries(
132
- this.spokePool.interface.fragments
133
- .filter(({ name, type }) => type === "event" && knownEventNames.includes(name))
134
- .map(({ name }) => [name, this.spokePool.filters[name]()])
135
- );
136
- }
137
-
138
115
  /**
139
116
  * Retrieves a list of unique deposits from the SpokePool contract destined for the given destination chain ID.
140
117
  * @param destinationChainId The destination chain ID.
@@ -473,96 +450,6 @@ export class SpokePoolClient extends BaseAbstractClient {
473
450
  return `${event.depositId.toString()}-${event.originChainId}`;
474
451
  }
475
452
 
476
- /**
477
- * @notice Return maximum of fill deadline buffer at start and end of block range. This is a contract
478
- * immutable state variable so we can't query other events to find its updates.
479
- * @dev V3 deposits have a fill deadline which can be set to a maximum of fillDeadlineBuffer + deposit.block.timestamp.
480
- * Therefore, we cannot evaluate a block range for expired deposits if the spoke pool client doesn't return us
481
- * deposits whose block.timestamp is within fillDeadlineBuffer of the end block time. As a conservative check,
482
- * we verify that the time between the end block timestamp and the first timestamp queried by the
483
- * spoke pool client is greater than the maximum of the fill deadline buffers at the start and end of the block
484
- * range. We assume the fill deadline buffer wasn't changed more than once within a bundle.
485
- * @param startBlock start block
486
- * @param endBlock end block
487
- * @returns maximum of fill deadline buffer at start and end block
488
- */
489
- public getMaxFillDeadlineInRange(startBlock: number, endBlock: number): Promise<number> {
490
- return getMaxFillDeadline(this.spokePool, startBlock, endBlock);
491
- }
492
-
493
- /**
494
- * Performs an update to refresh the state of this client. This will query the SpokePool contract for new events
495
- * and store them in memory. This method is the primary method for updating the state of this client.
496
- * @param eventsToQuery An optional list of events to query. If not provided, all events will be queried.
497
- * @returns A Promise that resolves to a SpokePoolUpdate object.
498
- */
499
- protected async _update(eventsToQuery: string[]): Promise<SpokePoolUpdate> {
500
- const searchConfig = await this.updateSearchConfig(this.spokePool.provider);
501
- if (isUpdateFailureReason(searchConfig)) {
502
- const reason = searchConfig;
503
- return { success: false, reason };
504
- }
505
-
506
- const eventSearchConfigs = eventsToQuery.map((eventName) => {
507
- if (!this.queryableEventNames.includes(eventName)) {
508
- throw new Error(`SpokePoolClient: Cannot query unrecognised SpokePool event name: ${eventName}`);
509
- }
510
-
511
- const _searchConfig = { ...searchConfig }; // shallow copy
512
-
513
- // By default, an event's query range is controlled by the `eventSearchConfig` passed in during instantiation.
514
- // However, certain events have special overriding requirements to their search ranges:
515
- // - EnabledDepositRoute: The full history is always required, so override the requested fromBlock.
516
- if (eventName === "EnabledDepositRoute" && !this.isUpdated) {
517
- _searchConfig.fromBlock = this.deploymentBlock;
518
- }
519
-
520
- return {
521
- filter: this._queryableEventNames()[eventName],
522
- searchConfig: _searchConfig,
523
- };
524
- });
525
-
526
- const { spokePool } = this;
527
- this.log("debug", `Updating SpokePool client for chain ${this.chainId}`, {
528
- eventsToQuery,
529
- searchConfig,
530
- spokePool: spokePool.address,
531
- });
532
-
533
- const timerStart = Date.now();
534
- const multicallFunctions = ["getCurrentTime"];
535
- const [multicallOutput, ...events] = await Promise.all([
536
- spokePool.callStatic.multicall(
537
- multicallFunctions.map((f) => spokePool.interface.encodeFunctionData(f)),
538
- { blockTag: searchConfig.toBlock }
539
- ),
540
- ...eventSearchConfigs.map((config) => paginatedEventQuery(this.spokePool, config.filter, config.searchConfig)),
541
- ]);
542
- this.log("debug", `Time to query new events from RPC for ${this.chainId}: ${Date.now() - timerStart} ms`);
543
-
544
- const [currentTime] = multicallFunctions.map(
545
- (fn, idx) => spokePool.interface.decodeFunctionResult(fn, multicallOutput[idx])[0]
546
- );
547
-
548
- if (!BigNumber.isBigNumber(currentTime) || currentTime.lt(this.currentTime)) {
549
- const errMsg = BigNumber.isBigNumber(currentTime)
550
- ? `currentTime: ${currentTime} < ${toBN(this.currentTime)}`
551
- : `currentTime is not a BigNumber: ${JSON.stringify(currentTime)}`;
552
- throw new Error(`SpokePoolClient::update: ${errMsg}`);
553
- }
554
-
555
- // Sort all events to ensure they are stored in a consistent order.
556
- events.forEach((events) => sortEventsAscendingInPlace(events));
557
-
558
- return {
559
- success: true,
560
- currentTime: currentTime.toNumber(), // uint32
561
- searchEndBlock: searchConfig.toBlock,
562
- events,
563
- };
564
- }
565
-
566
453
  /**
567
454
  * A wrapper over the `_update` method that handles errors and logs. This method additionally calls into the
568
455
  * HubPoolClient to update the state of this client with data from the HubPool contract.
@@ -571,7 +458,7 @@ export class SpokePoolClient extends BaseAbstractClient {
571
458
  * @note This method is the primary method for updating the state of this client externally.
572
459
  * @see _update
573
460
  */
574
- public async update(eventsToQuery = this.queryableEventNames): Promise<void> {
461
+ public async update(eventsToQuery = this._queryableEventNames()): Promise<void> {
575
462
  const duplicateEvents: Log[] = [];
576
463
  if (this.hubPoolClient !== null && !this.hubPoolClient.isUpdated) {
577
464
  throw new Error("HubPoolClient not updated");
@@ -844,90 +731,6 @@ export class SpokePoolClient extends BaseAbstractClient {
844
731
  return this.currentTime;
845
732
  }
846
733
 
847
- /**
848
- * Retrieves the time from the SpokePool contract at a particular block.
849
- * @returns The time at the specified block tag.
850
- */
851
- public getTimeAt(blockNumber: number): Promise<number> {
852
- return _getTimeAt(this.spokePool, blockNumber);
853
- }
854
-
855
- /**
856
- * For a given origin chain depositId, resolve the corresponding Deposit.
857
- * Note: This method can only be used for depositIds within the non-deterministic range (0 < depositId < 2^32 - 1).
858
- * @param depositId Deposit ID of the deposit to resolve.
859
- * @returns A DepositSearchResult instance.
860
- */
861
- async findDeposit(depositId: BigNumber): Promise<DepositSearchResult> {
862
- let deposit = this.getDeposit(depositId);
863
- if (deposit) {
864
- return { found: true, deposit };
865
- }
866
-
867
- // No deposit found; revert to searching for it.
868
- const upperBound = this.latestBlockSearched || undefined; // Don't permit block 0 as the high block.
869
- const fromBlock = await findDepositBlock(this.spokePool, depositId, this.deploymentBlock, upperBound);
870
- const chain = getNetworkName(this.chainId);
871
- if (!fromBlock) {
872
- const reason =
873
- `Unable to find ${chain} depositId ${depositId}` +
874
- ` within blocks [${this.deploymentBlock}, ${upperBound ?? "latest"}].`;
875
- return { found: false, code: InvalidFill.DepositIdNotFound, reason };
876
- }
877
-
878
- const toBlock = fromBlock;
879
- const tStart = Date.now();
880
- // Check both V3FundsDeposited and FundsDeposited events to look for a specified depositId.
881
- const { maxBlockLookBack } = this.eventSearchConfig;
882
- const query = (
883
- await Promise.all([
884
- paginatedEventQuery(
885
- this.spokePool,
886
- this.spokePool.filters.V3FundsDeposited(null, null, null, null, null, depositId),
887
- { fromBlock, toBlock, maxBlockLookBack }
888
- ),
889
- paginatedEventQuery(
890
- this.spokePool,
891
- this.spokePool.filters.FundsDeposited(null, null, null, null, null, depositId),
892
- { fromBlock, toBlock, maxBlockLookBack }
893
- ),
894
- ])
895
- ).flat();
896
- const tStop = Date.now();
897
-
898
- const event = query.find(({ args }) => args["depositId"].eq(depositId));
899
- if (event === undefined) {
900
- return {
901
- found: false,
902
- code: InvalidFill.DepositIdNotFound,
903
- reason: `${chain} depositId ${depositId} not found at block ${fromBlock}.`,
904
- };
905
- }
906
-
907
- deposit = {
908
- ...spreadEventWithBlockNumber(event),
909
- originChainId: this.chainId,
910
- quoteBlockNumber: await this.getBlockNumber(Number(event.args["quoteTimestamp"])),
911
- fromLiteChain: true, // To be updated immediately afterwards.
912
- toLiteChain: true, // To be updated immediately afterwards.
913
- } as DepositWithBlock;
914
-
915
- if (isZeroAddress(deposit.outputToken)) {
916
- deposit.outputToken = this.getDestinationTokenForDeposit(deposit);
917
- }
918
- deposit.fromLiteChain = this.isOriginLiteChain(deposit);
919
- deposit.toLiteChain = this.isDestinationLiteChain(deposit);
920
-
921
- this.logger.debug({
922
- at: "SpokePoolClient#findDeposit",
923
- message: "Located V3 deposit outside of SpokePoolClient's search range",
924
- deposit,
925
- elapsedMs: tStop - tStart,
926
- });
927
-
928
- return { found: true, deposit };
929
- }
930
-
931
734
  /**
932
735
  * Determines whether a deposit originates from a lite chain.
933
736
  * @param deposit The deposit to evaluate.
@@ -950,21 +753,68 @@ export class SpokePoolClient extends BaseAbstractClient {
950
753
  );
951
754
  }
952
755
 
953
- public getTimestampForBlock(blockTag: number): Promise<number> {
954
- return _getTimestampForBlock(this.spokePool.provider, blockTag);
955
- }
756
+ // ///////////////////////
757
+ // // ABSTRACT METHODS //
758
+ // ///////////////////////
759
+
760
+ /**
761
+ * Returns a list of event names that are queryable for the SpokePoolClient.
762
+ * @returns A list of event names that are queryable for the SpokePoolClient.
763
+ */
764
+ public abstract _queryableEventNames(): string[];
765
+
766
+ /**
767
+ * Performs an update to refresh the state of this client. This will query the SpokePool contract for new events
768
+ * and store them in memory. This method is the primary method for updating the state of this client.
769
+ * @param eventsToQuery An optional list of events to query. If not provided, all events will be queried.
770
+ * @returns A Promise that resolves to a SpokePoolUpdate object.
771
+ */
772
+ protected abstract _update(eventsToQuery: string[]): Promise<SpokePoolUpdate>;
773
+
774
+ /**
775
+ * @notice Return maximum of fill deadline buffer at start and end of block range. This is a contract
776
+ * immutable state variable so we can't query other events to find its updates.
777
+ * @dev V3 deposits have a fill deadline which can be set to a maximum of fillDeadlineBuffer + deposit.block.timestamp.
778
+ * Therefore, we cannot evaluate a block range for expired deposits if the spoke pool client doesn't return us
779
+ * deposits whose block.timestamp is within fillDeadlineBuffer of the end block time. As a conservative check,
780
+ * we verify that the time between the end block timestamp and the first timestamp queried by the
781
+ * spoke pool client is greater than the maximum of the fill deadline buffers at the start and end of the block
782
+ * range. We assume the fill deadline buffer wasn't changed more than once within a bundle.
783
+ * @param startBlock start block
784
+ * @param endBlock end block
785
+ * @returns maximum of fill deadline buffer at start and end block
786
+ */
787
+ public abstract getMaxFillDeadlineInRange(startBlock: number, endBlock: number): Promise<number>;
788
+
789
+ /**
790
+ * Retrieves the timestamp for a given block number.
791
+ * @param blockTag The block number to retrieve the timestamp for.
792
+ * @returns The timestamp for the given block number.
793
+ */
794
+ public abstract getTimestampForBlock(blockTag: number): Promise<number>;
795
+
796
+ /**
797
+ * Retrieves the time from the SpokePool contract at a particular block.
798
+ * @returns The time at the specified block tag.
799
+ */
800
+ public abstract getTimeAt(blockNumber: number): Promise<number>;
801
+
802
+ /**
803
+ * For a given origin chain depositId, resolve the corresponding Deposit.
804
+ * Note: This method can only be used for depositIds within the non-deterministic range (0 < depositId < 2^32 - 1).
805
+ * @param depositId Deposit ID of the deposit to resolve.
806
+ * @returns A DepositSearchResult instance.
807
+ */
808
+ public abstract findDeposit(depositId: BigNumber): Promise<DepositSearchResult>;
956
809
 
957
810
  /**
958
- * Find the amount filled for a deposit at a particular block.
959
- * @param relayData Deposit information that is used to complete a fill.
960
- * @param blockTag Block tag (numeric or "latest") to query at.
961
- * @returns The amount filled for the specified deposit at the requested block (or latest).
811
+ * Retrieves the fill status for a given relay data.
812
+ * @param relayData The relay data to retrieve the fill status for.
813
+ * @returns The fill status for the given relay data.
962
814
  */
963
- public relayFillStatus(
815
+ public abstract relayFillStatus(
964
816
  relayData: RelayData,
965
817
  blockTag?: number | "latest",
966
818
  destinationChainId?: number
967
- ): Promise<FillStatus> {
968
- return relayFillStatus(this.spokePool, relayData, blockTag, destinationChainId);
969
- }
819
+ ): Promise<FillStatus>;
970
820
  }
@@ -0,0 +1,14 @@
1
+ import { EVMSpokePoolClient } from "./EVMSpokePoolClient";
2
+ import { SpokePoolClient } from "./SpokePoolClient";
3
+
4
+ export { EVMSpokePoolClient } from "./EVMSpokePoolClient";
5
+ export { SpokePoolClient, SpokePoolUpdate } from "./SpokePoolClient";
6
+
7
+ /**
8
+ * Checks if a SpokePoolClient is an EVMSpokePoolClient.
9
+ * @param spokePoolClient The SpokePoolClient to check.
10
+ * @returns True if the SpokePoolClient is an EVMSpokePoolClient, false otherwise.
11
+ */
12
+ export function isEVMSpokePoolClient(spokePoolClient: SpokePoolClient): spokePoolClient is EVMSpokePoolClient {
13
+ return spokePoolClient instanceof EVMSpokePoolClient;
14
+ }
@@ -6,6 +6,6 @@ export {
6
6
  } from "./AcrossConfigStoreClient";
7
7
  export { UpdateFailureReason } from "./BaseAbstractClient";
8
8
  export { HubPoolClient, LpFeeRequest } from "./HubPoolClient";
9
- export { SpokePoolClient, SpokePoolUpdate } from "./SpokePoolClient";
9
+ export { SpokePoolClient, SpokePoolUpdate, EVMSpokePoolClient } from "./SpokePoolClient";
10
10
  export * as BundleDataClient from "./BundleDataClient";
11
11
  export * as mocks from "./mocks";
@@ -28,14 +28,14 @@ import {
28
28
  toAddress,
29
29
  toBytes32,
30
30
  } from "../../utils";
31
- import { SpokePoolClient, SpokePoolUpdate } from "../SpokePoolClient";
31
+ import { EVMSpokePoolClient, SpokePoolUpdate } from "../SpokePoolClient";
32
32
  import { HubPoolClient } from "../HubPoolClient";
33
33
  import { EventManager, EventOverrides, getEventManager } from "./MockEvents";
34
34
  import { AcrossConfigStoreClient } from "../AcrossConfigStoreClient";
35
35
 
36
36
  // This class replaces internal SpokePoolClient functionality, enabling
37
37
  // the user to bypass on-chain queries and inject Log objects directly.
38
- export class MockSpokePoolClient extends SpokePoolClient {
38
+ export class MockSpokePoolClient extends EVMSpokePoolClient {
39
39
  public eventManager: EventManager;
40
40
  private destinationTokenForChainOverride: Record<number, string> = {};
41
41
  // Allow tester to set the numberOfDeposits() returned by SpokePool at a block height.
@@ -74,15 +74,15 @@ export function getImpliedBundleBlockRanges(
74
74
 
75
75
  // Load all chain indices in order to map bundle evaluation block numbers to enabled chains list.
76
76
  const chainIdIndices = configStoreClient.getChainIdIndicesForBlock(rootBundle.blockNumber);
77
- const result = rootBundle.bundleEvaluationBlockNumbers.map((endBlock, i) => {
78
- const fromBlock = prevRootBundle?.bundleEvaluationBlockNumbers?.[i]
79
- ? prevRootBundle.bundleEvaluationBlockNumbers[i].toNumber() + 1
80
- : 0;
77
+ const result = rootBundle.bundleEvaluationBlockNumbers.map((_endBlock, i) => {
78
+ const endBlock = _endBlock.toNumber();
79
+ const bundleEndBlock = prevRootBundle?.bundleEvaluationBlockNumbers?.[i]?.toNumber() ?? 0;
80
+ const fromBlock = bundleEndBlock === endBlock ? endBlock : bundleEndBlock + 1;
81
81
  const chainId = chainIdIndices[i];
82
82
  if (!enabledChainsAtMainnetStartBlock.includes(chainId)) {
83
- return [endBlock.toNumber(), endBlock.toNumber()];
83
+ return [endBlock, endBlock];
84
84
  }
85
- return [fromBlock, endBlock.toNumber()];
85
+ return [fromBlock, endBlock];
86
86
  });
87
87
 
88
88
  // Lastly, sanity check the results to catch errors early:
@@ -1 +0,0 @@
1
- {"version":3,"file":"SpokePoolClient.js","sourceRoot":"","sources":["../../../src/clients/SpokePoolClient.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SpokePoolClient.js","sourceRoot":"","sources":["../../../src/clients/SpokePoolClient.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SpokePoolClient.d.ts","sourceRoot":"","sources":["../../../src/clients/SpokePoolClient.ts"],"names":[],"mappings":"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"}