@across-protocol/sdk 4.1.25 → 4.1.26

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 (37) hide show
  1. package/dist/cjs/clients/SpokePoolClient.d.ts +2 -8
  2. package/dist/cjs/clients/SpokePoolClient.js +25 -44
  3. package/dist/cjs/clients/SpokePoolClient.js.map +1 -1
  4. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +0 -5
  5. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  6. package/dist/cjs/providers/solana/cachedRpcFactory.js +23 -8
  7. package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -1
  8. package/dist/cjs/utils/DepositUtils.js +16 -27
  9. package/dist/cjs/utils/DepositUtils.js.map +1 -1
  10. package/dist/cjs/utils/Multicall.d.ts +1 -0
  11. package/dist/cjs/utils/Multicall.js +55 -1
  12. package/dist/cjs/utils/Multicall.js.map +1 -1
  13. package/dist/esm/clients/SpokePoolClient.d.ts +8 -8
  14. package/dist/esm/clients/SpokePoolClient.js +32 -45
  15. package/dist/esm/clients/SpokePoolClient.js.map +1 -1
  16. package/dist/esm/clients/mocks/MockSpokePoolClient.js +1 -7
  17. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  18. package/dist/esm/providers/solana/cachedRpcFactory.js +24 -8
  19. package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -1
  20. package/dist/esm/utils/DepositUtils.js +16 -27
  21. package/dist/esm/utils/DepositUtils.js.map +1 -1
  22. package/dist/esm/utils/Multicall.d.ts +6 -0
  23. package/dist/esm/utils/Multicall.js +60 -1
  24. package/dist/esm/utils/Multicall.js.map +1 -1
  25. package/dist/types/clients/SpokePoolClient.d.ts +8 -8
  26. package/dist/types/clients/SpokePoolClient.d.ts.map +1 -1
  27. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
  28. package/dist/types/providers/solana/cachedRpcFactory.d.ts.map +1 -1
  29. package/dist/types/utils/DepositUtils.d.ts.map +1 -1
  30. package/dist/types/utils/Multicall.d.ts +6 -0
  31. package/dist/types/utils/Multicall.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/src/clients/SpokePoolClient.ts +29 -45
  34. package/src/clients/mocks/MockSpokePoolClient.ts +0 -10
  35. package/src/providers/solana/cachedRpcFactory.ts +28 -14
  36. package/src/utils/DepositUtils.ts +18 -29
  37. package/src/utils/Multicall.ts +34 -1
@@ -33,7 +33,7 @@ export var InvalidFill;
33
33
  export function queryHistoricalDepositForFill(spokePoolClient, fill, cache) {
34
34
  var _a;
35
35
  return __awaiter(this, void 0, void 0, function () {
36
- var depositId, lowId, highId, originChain, deposit_1, match_1, deposit, cachedDeposit, match;
36
+ var depositId, originChain, deposit, match_1, cachedDeposit, result, match;
37
37
  return __generator(this, function (_b) {
38
38
  switch (_b.label) {
39
39
  case 0:
@@ -53,33 +53,17 @@ export function queryHistoricalDepositForFill(spokePoolClient, fill, cache) {
53
53
  throw new Error("SpokePoolClient must be updated before querying historical deposits");
54
54
  }
55
55
  depositId = fill.depositId;
56
- lowId = spokePoolClient.firstDepositIdForSpokePool, highId = spokePoolClient.lastDepositIdForSpokePool;
57
- if (depositId.lt(lowId) || depositId.gt(highId)) {
58
- return [2 /*return*/, {
59
- found: false,
60
- code: InvalidFill.DepositIdInvalid,
61
- reason: "Deposit ID ".concat(depositId.toString(), " is outside of SpokePool bounds [").concat(lowId, ",").concat(highId, "]."),
62
- }];
63
- }
64
- (lowId = spokePoolClient.earliestDepositIdQueried, highId = spokePoolClient.latestDepositIdQueried);
65
- if (depositId.gte(lowId) && depositId.lte(highId)) {
66
- originChain = getNetworkName(fill.originChainId);
67
- deposit_1 = spokePoolClient.getDeposit(depositId);
68
- if (isDefined(deposit_1)) {
69
- match_1 = validateFillForDeposit(fill, deposit_1);
70
- if (match_1.valid) {
71
- return [2 /*return*/, { found: true, deposit: deposit_1 }];
72
- }
73
- return [2 /*return*/, {
74
- found: false,
75
- code: InvalidFill.FillMismatch,
76
- reason: "Fill for ".concat(originChain, " deposit ID ").concat(depositId.toString(), " is invalid (").concat(match_1.reason, ")."),
77
- }];
56
+ originChain = getNetworkName(fill.originChainId);
57
+ deposit = spokePoolClient.getDeposit(depositId);
58
+ if (isDefined(deposit)) {
59
+ match_1 = validateFillForDeposit(fill, deposit);
60
+ if (match_1.valid) {
61
+ return [2 /*return*/, { found: true, deposit: deposit }];
78
62
  }
79
63
  return [2 /*return*/, {
80
64
  found: false,
81
- code: InvalidFill.DepositIdNotFound,
82
- reason: "".concat(originChain, " deposit ID ").concat(depositId.toString(), " not found in SpokePoolClient event buffer."),
65
+ code: InvalidFill.FillMismatch,
66
+ reason: "Fill for ".concat(originChain, " deposit ID ").concat(depositId.toString(), " is invalid (").concat(match_1.reason, ")."),
83
67
  }];
84
68
  }
85
69
  if (!cache) return [3 /*break*/, 2];
@@ -106,15 +90,20 @@ export function queryHistoricalDepositForFill(spokePoolClient, fill, cache) {
106
90
  if (!isDefined(cachedDeposit)) return [3 /*break*/, 3];
107
91
  deposit = cachedDeposit;
108
92
  return [3 /*break*/, 6];
109
- case 3: return [4 /*yield*/, spokePoolClient.findDeposit(fill.depositId, fill.destinationChainId)];
93
+ case 3: return [4 /*yield*/, spokePoolClient.findDeposit(fill.depositId)];
110
94
  case 4:
111
- deposit = _b.sent();
95
+ result = _b.sent();
96
+ if (!result.found) {
97
+ return [2 /*return*/, result];
98
+ }
99
+ (deposit = result.deposit);
112
100
  if (!cache) return [3 /*break*/, 6];
113
101
  return [4 /*yield*/, setDepositInCache(deposit, getCurrentTime(), cache, DEFAULT_CACHING_TTL)];
114
102
  case 5:
115
103
  _b.sent();
116
104
  _b.label = 6;
117
105
  case 6:
106
+ assert(isDefined(deposit), "Unexpectedly failed to locate ".concat(originChain, " deposit ").concat(fill.depositId));
118
107
  (_a = deposit.messageHash) !== null && _a !== void 0 ? _a : (deposit.messageHash = getMessageHash(deposit.message));
119
108
  match = validateFillForDeposit(fill, deposit);
120
109
  if (match.valid) {
@@ -1 +1 @@
1
- {"version":3,"file":"DepositUtils.js","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DepositUtils.js","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,10 @@ export declare function blockAndAggregate(multicall3: Contract, calls: Call3[],
15
15
  blockNumber: number;
16
16
  returnData: Result[];
17
17
  }>;
18
+ /**
19
+ * Deploy a Multicall3 instance.
20
+ * Guidance: https://github.com/mds1/multicall3?tab=readme-ov-file#new-deployments
21
+ * @param signer An Ethers Signer instance with at least 0.1 ETH.
22
+ */
23
+ export declare function deploy(signer: Signer): Promise<boolean>;
18
24
  export {};
@@ -1,9 +1,12 @@
1
1
  var _a;
2
2
  import { __awaiter, __generator, __spreadArray } from "tslib";
3
- import { CHAIN_IDs } from "@across-protocol/constants";
3
+ import assert from "assert";
4
+ import { utils as ethersUtils } from "ethers";
5
+ import { CHAIN_IDs, MAINNET_CHAIN_IDs } from "@across-protocol/constants";
4
6
  import { chainIsOPStack, hreNetworks } from "./NetworkUtils";
5
7
  import { Multicall3__factory } from "./abi/typechain";
6
8
  var DETERMINISTIC_MULTICALL_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
9
+ var MULTICALL_DEPLOYER = "0x05f32B3cC3888453ff71B01135B34FF8e41263F2";
7
10
  var NON_DETERMINISTIC_MULTICALL_ADDRESSES = (_a = {},
8
11
  _a[CHAIN_IDs.ZK_SYNC] = "0xF9cda624FBC7e059355ce98a31693d299FACd963",
9
12
  _a[CHAIN_IDs.LENS_SEPOLIA] = "0x8A44EDE8a6843a997bC0Cc4659e4dB1Da8f91116",
@@ -87,4 +90,60 @@ export function blockAndAggregate(multicall3, calls, blockTag) {
87
90
  });
88
91
  });
89
92
  }
93
+ function isDeployed(provider) {
94
+ var _a;
95
+ return __awaiter(this, void 0, void 0, function () {
96
+ var chainId, expectedMulticallAddress, code;
97
+ return __generator(this, function (_b) {
98
+ switch (_b.label) {
99
+ case 0: return [4 /*yield*/, provider.getNetwork()];
100
+ case 1:
101
+ chainId = (_b.sent()).chainId;
102
+ expectedMulticallAddress = (_a = getMulticallAddress(chainId)) !== null && _a !== void 0 ? _a : DETERMINISTIC_MULTICALL_ADDRESS;
103
+ return [4 /*yield*/, provider.getCode(expectedMulticallAddress)];
104
+ case 2:
105
+ code = _b.sent();
106
+ return [2 /*return*/, code !== "0x"];
107
+ }
108
+ });
109
+ });
110
+ }
111
+ /**
112
+ * Deploy a Multicall3 instance.
113
+ * Guidance: https://github.com/mds1/multicall3?tab=readme-ov-file#new-deployments
114
+ * @param signer An Ethers Signer instance with at least 0.1 ETH.
115
+ */
116
+ export function deploy(signer) {
117
+ return __awaiter(this, void 0, void 0, function () {
118
+ var chainId, _a;
119
+ return __generator(this, function (_b) {
120
+ switch (_b.label) {
121
+ case 0:
122
+ assert(signer.provider);
123
+ return [4 /*yield*/, isDeployed(signer.provider)];
124
+ case 1:
125
+ if (_b.sent()) {
126
+ return [2 /*return*/, true];
127
+ }
128
+ return [4 /*yield*/, signer.provider.getNetwork()];
129
+ case 2:
130
+ chainId = (_b.sent()).chainId;
131
+ assert(!Object.values(MAINNET_CHAIN_IDs).includes(chainId));
132
+ return [4 /*yield*/, signer.sendTransaction({ to: MULTICALL_DEPLOYER, value: ethersUtils.parseEther("0.1") })];
133
+ case 3:
134
+ _b.sent(); // Pre-fund the deployer address.
135
+ return [4 /*yield*/, signer.provider.sendTransaction(MULTICALL_CALLDATA)];
136
+ case 4:
137
+ _b.sent(); // Deploy
138
+ _a = assert;
139
+ return [4 /*yield*/, isDeployed(signer.provider)];
140
+ case 5:
141
+ _a.apply(void 0, [_b.sent()]);
142
+ return [2 /*return*/, true];
143
+ }
144
+ });
145
+ });
146
+ }
147
+ // Multicall3 deployment transaction, pre-signed `deployer`.
148
+ var MULTICALL_CALLDATA = "0xf90f538085174876e800830f42408080b90f00608060405234801561001057600080fd5b50610ee0806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea2646970667358221220bb2b5c71a328032f97c676ae39a1ec2148d3e5d6f73d95e9b17910152d61f16264736f6c634300080c00331ca0edce47092c0f398cebf3ffc267f05c8e7076e3b89445e0fe50f6332273d4569ba01b0b9d000e19b24c5869b0fc3b22b0d6fa47cd63316875cbbd577d76e6fde086";
90
149
  //# sourceMappingURL=Multicall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Multicall.js","sourceRoot":"","sources":["../../../src/utils/Multicall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Multicall.js","sourceRoot":"","sources":["../../../src/utils/Multicall.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Contract, EventFilter } from "ethers";
2
2
  import winston from "winston";
3
- import { AnyObject, BigNumber, DefaultLogLevels, EventSearchConfig, MakeOptional } from "../utils";
3
+ import { AnyObject, BigNumber, DefaultLogLevels, DepositSearchResult, EventSearchConfig, MakeOptional } from "../utils";
4
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";
@@ -8,8 +8,6 @@ import { AcrossConfigStoreClient } from "./AcrossConfigStoreClient";
8
8
  type SpokePoolUpdateSuccess = {
9
9
  success: true;
10
10
  currentTime: number;
11
- firstDepositId: BigNumber;
12
- latestDepositId: BigNumber;
13
11
  events: Log[][];
14
12
  searchEndBlock: number;
15
13
  };
@@ -57,10 +55,6 @@ export declare class SpokePoolClient extends BaseAbstractClient {
57
55
  protected queryableEventNames: string[];
58
56
  protected configStoreClient: AcrossConfigStoreClient | undefined;
59
57
  protected invalidFills: Set<string>;
60
- earliestDepositIdQueried: BigNumber;
61
- latestDepositIdQueried: BigNumber;
62
- firstDepositIdForSpokePool: BigNumber;
63
- lastDepositIdForSpokePool: BigNumber;
64
58
  fills: {
65
59
  [OriginChainId: number]: FillWithBlock[];
66
60
  };
@@ -310,7 +304,13 @@ export declare class SpokePoolClient extends BaseAbstractClient {
310
304
  * @returns The time at the specified block tag.
311
305
  */
312
306
  getTimeAt(blockNumber: number): Promise<number>;
313
- findDeposit(depositId: BigNumber, destinationChainId: number): Promise<DepositWithBlock>;
307
+ /**
308
+ * For a given origin chain depositId, resolve the corresponding Deposit.
309
+ * Note: This method can only be used for depositIds within the non-deterministic range (0 < depositId < 2^32 - 1).
310
+ * @param depositId Deposit ID of the deposit to resolve.
311
+ * @returns A DepositSearchResult instance.
312
+ */
313
+ findDeposit(depositId: BigNumber): Promise<DepositSearchResult>;
314
314
  /**
315
315
  * Determines whether a deposit originates from a lite chain.
316
316
  * @param deposit The deposit to evaluate.
@@ -1 +1 @@
1
- {"version":3,"file":"SpokePoolClient.d.ts","sourceRoot":"","sources":["../../../src/clients/SpokePoolClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpokePoolClient.d.ts","sourceRoot":"","sources":["../../../src/clients/SpokePoolClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MockSpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/mocks/MockSpokePoolClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EACL,GAAG,EACH,OAAO,EACP,gBAAgB,EAEhB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAML,SAAS,EAMV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAmB,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAIrE,qBAAa,mBAAoB,SAAQ,eAAe;IAC/C,YAAY,EAAE,YAAY,CAAC;IAClC,OAAO,CAAC,gCAAgC,CAA8B;IAE/D,gBAAgB,EAAE,SAAS,EAAE,CAAM;IACnC,gBAAgB,YAAU;gBAG/B,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,IAAI,GAAE;QAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CAAA;KAA4B;IAOzE,oBAAoB,CAAC,WAAW,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAIjE,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIjE,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;IAIhE,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI/C,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI;IAc7C,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI1D,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAqC1D,SAAgB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAErD;IAEF,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAI5E,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAI9E,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IA+CtG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAIhG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAI9F,SAAS,CAAC,UAAU,CAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,GAC7E,GAAG;IA8EN,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG;IAIvC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG;IAIrC,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG;IAkB/D,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,GAAG;IAanD,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAI9F,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IAI5F,SAAS,CAAC,gBAAgB,CACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GACrE,GAAG;IA2BN,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,GAAG;IAkBpE,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG;IA2BtF,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,cAAmB,GAC7B,GAAG;CAcP"}
1
+ {"version":3,"file":"MockSpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/mocks/MockSpokePoolClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cachedRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/cachedRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE3G,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAItE,qBAAa,sBAAuB,SAAQ,uBAAuB;IAW/D,QAAQ,CAAC,WAAW,CAAC;IAVvB,SAAgB,yBAAyB,EAAE,MAAM,CAAC;IAGlD,SAAS,CAAC,oBAAoB,EAAE,YAAY,CAAC;IAG7C,SAAS,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;gBAGtG,sBAAsB,EAAE,MAAM,EACrB,WAAW,CAAC,uCAA2B,EAChD,GAAG,4BAA4B,EAAE,qBAAqB,CAAC,OAAO,2BAA2B,CAAC;IAmBrF,eAAe,IAAI,YAAY;YAwBxB,wBAAwB;IA+BtC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,sBAAsB;CAS/B"}
1
+ {"version":3,"file":"cachedRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/cachedRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG3G,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAItE,qBAAa,sBAAuB,SAAQ,uBAAuB;IAW/D,QAAQ,CAAC,WAAW,CAAC;IAVvB,SAAgB,yBAAyB,EAAE,MAAM,CAAC;IAGlD,SAAS,CAAC,oBAAoB,EAAE,YAAY,CAAC;IAG7C,SAAS,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;gBAGtG,sBAAsB,EAAE,MAAM,EACrB,WAAW,CAAC,uCAA2B,EAChD,GAAG,4BAA4B,EAAE,qBAAqB,CAAC,OAAO,2BAA2B,CAAC;IAmBrF,eAAe,IAAI,YAAY;YAwBxB,wBAAwB;IA4CtC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,sBAAsB;CAS/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"DepositUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAa5G,oBAAY,WAAW;IACrB,gBAAgB,IAAI;IACpB,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,mBAAmB,IAAA;CACpB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,GAAG,eAAe,EAC5B,KAAK,CAAC,EAAE,yBAAyB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CA6F9B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,GAAG,OAAO,CAE7F;AAED,wBAAgB,gCAAgC,CAC9C,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,aAAa,GAAG,aAAa,CAAC,GAC7D,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAgB,GAAG,OAAO,CAE/D;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAI9D"}
1
+ {"version":3,"file":"DepositUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAa5G,oBAAY,WAAW;IACrB,gBAAgB,IAAI;IACpB,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,mBAAmB,IAAA;CACpB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,GAAG,eAAe,EAC5B,KAAK,CAAC,EAAE,yBAAyB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAkF9B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,GAAG,OAAO,CAE7F;AAED,wBAAgB,gCAAgC,CAC9C,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,aAAa,GAAG,aAAa,CAAC,GAC7D,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAgB,GAAG,OAAO,CAE/D;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAI9D"}
@@ -15,5 +15,11 @@ export declare function blockAndAggregate(multicall3: Contract, calls: Call3[],
15
15
  blockNumber: number;
16
16
  returnData: Result[];
17
17
  }>;
18
+ /**
19
+ * Deploy a Multicall3 instance.
20
+ * Guidance: https://github.com/mds1/multicall3?tab=readme-ov-file#new-deployments
21
+ * @param signer An Ethers Signer instance with at least 0.1 ETH.
22
+ */
23
+ export declare function deploy(signer: Signer): Promise<boolean>;
18
24
  export {};
19
25
  //# sourceMappingURL=Multicall.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Multicall.d.ts","sourceRoot":"","sources":["../../../src/utils/Multicall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAI3E,OAAO,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAElE,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AACnC,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AACnC,KAAK,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;AAEjC,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CACd,CAAC;AAyBF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKvE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAO1G;AAED,wBAAsB,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAY5G;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,QAAQ,EACpB,KAAK,EAAE,KAAK,EAAE,EACd,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqBxD"}
1
+ {"version":3,"file":"Multicall.d.ts","sourceRoot":"","sources":["../../../src/utils/Multicall.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAI3E,OAAO,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAElE,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AACnC,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AACnC,KAAK,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;AAEjC,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CACd,CAAC;AA0BF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKvE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAO1G;AAED,wBAAsB,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAY5G;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,QAAQ,EACpB,KAAK,EAAE,KAAK,EAAE,EACd,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqBxD;AASD;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,oBAa1C"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@across-protocol/sdk",
3
3
  "author": "UMA Team",
4
- "version": "4.1.25",
4
+ "version": "4.1.26",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -7,16 +7,16 @@ import {
7
7
  bnZero,
8
8
  bnUint32Max,
9
9
  DefaultLogLevels,
10
+ DepositSearchResult,
10
11
  EventSearchConfig,
11
12
  MAX_BIG_INT,
12
13
  MakeOptional,
13
14
  assign,
14
15
  getRelayEventKey,
16
+ InvalidFill,
15
17
  isDefined,
16
18
  toBN,
17
- bnOne,
18
19
  getMessageHash,
19
- isUnsafeDepositId,
20
20
  isSlowFill,
21
21
  isValidEvmAddress,
22
22
  isZeroAddress,
@@ -56,8 +56,6 @@ import { getRepaymentChainId, forceDestinationRepayment } from "./BundleDataClie
56
56
  type SpokePoolUpdateSuccess = {
57
57
  success: true;
58
58
  currentTime: number;
59
- firstDepositId: BigNumber;
60
- latestDepositId: BigNumber;
61
59
  events: Log[][];
62
60
  searchEndBlock: number;
63
61
  };
@@ -85,10 +83,6 @@ export class SpokePoolClient extends BaseAbstractClient {
85
83
  protected queryableEventNames: string[] = [];
86
84
  protected configStoreClient: AcrossConfigStoreClient | undefined;
87
85
  protected invalidFills: Set<string> = new Set();
88
- public earliestDepositIdQueried = MAX_BIG_INT;
89
- public latestDepositIdQueried = bnZero;
90
- public firstDepositIdForSpokePool = MAX_BIG_INT;
91
- public lastDepositIdForSpokePool = MAX_BIG_INT;
92
86
  public fills: { [OriginChainId: number]: FillWithBlock[] } = {};
93
87
 
94
88
  /**
@@ -518,16 +512,6 @@ export class SpokePoolClient extends BaseAbstractClient {
518
512
  * @returns A Promise that resolves to a SpokePoolUpdate object.
519
513
  */
520
514
  protected async _update(eventsToQuery: string[]): Promise<SpokePoolUpdate> {
521
- // Find the earliest known depositId. This assumes no deposits were placed in the deployment block.
522
- let firstDepositId = this.firstDepositIdForSpokePool;
523
- if (firstDepositId.eq(MAX_BIG_INT)) {
524
- firstDepositId = await this.spokePool.numberOfDeposits({ blockTag: this.deploymentBlock });
525
- firstDepositId = BigNumber.from(firstDepositId); // Cast input to a big number.
526
- if (!BigNumber.isBigNumber(firstDepositId) || firstDepositId.lt(bnZero)) {
527
- throw new Error(`SpokePoolClient::update: Invalid first deposit id (${firstDepositId})`);
528
- }
529
- }
530
-
531
515
  const searchConfig = await this.updateSearchConfig(this.spokePool.provider);
532
516
  if (isUpdateFailureReason(searchConfig)) {
533
517
  const reason = searchConfig;
@@ -562,7 +546,7 @@ export class SpokePoolClient extends BaseAbstractClient {
562
546
  });
563
547
 
564
548
  const timerStart = Date.now();
565
- const multicallFunctions = ["getCurrentTime", "numberOfDeposits"];
549
+ const multicallFunctions = ["getCurrentTime"];
566
550
  const [multicallOutput, ...events] = await Promise.all([
567
551
  spokePool.callStatic.multicall(
568
552
  multicallFunctions.map((f) => spokePool.interface.encodeFunctionData(f)),
@@ -572,10 +556,9 @@ export class SpokePoolClient extends BaseAbstractClient {
572
556
  ]);
573
557
  this.log("debug", `Time to query new events from RPC for ${this.chainId}: ${Date.now() - timerStart} ms`);
574
558
 
575
- const [currentTime, _numberOfDeposits] = multicallFunctions.map(
559
+ const [currentTime] = multicallFunctions.map(
576
560
  (fn, idx) => spokePool.interface.decodeFunctionResult(fn, multicallOutput[idx])[0]
577
561
  );
578
- const _latestDepositId = BigNumber.from(_numberOfDeposits).sub(bnOne);
579
562
 
580
563
  if (!BigNumber.isBigNumber(currentTime) || currentTime.lt(this.currentTime)) {
581
564
  const errMsg = BigNumber.isBigNumber(currentTime)
@@ -590,8 +573,6 @@ export class SpokePoolClient extends BaseAbstractClient {
590
573
  return {
591
574
  success: true,
592
575
  currentTime: currentTime.toNumber(), // uint32
593
- firstDepositId,
594
- latestDepositId: _latestDepositId.gt(bnZero) ? _latestDepositId : bnZero,
595
576
  searchEndBlock: searchConfig.toBlock,
596
577
  events,
597
578
  };
@@ -673,13 +654,6 @@ export class SpokePoolClient extends BaseAbstractClient {
673
654
  continue;
674
655
  }
675
656
  assign(this.depositHashes, [getRelayEventKey(deposit)], deposit);
676
-
677
- if (deposit.depositId.lt(this.earliestDepositIdQueried) && !isUnsafeDepositId(deposit.depositId)) {
678
- this.earliestDepositIdQueried = deposit.depositId;
679
- }
680
- if (deposit.depositId.gt(this.latestDepositIdQueried) && !isUnsafeDepositId(deposit.depositId)) {
681
- this.latestDepositIdQueried = deposit.depositId;
682
- }
683
657
  }
684
658
  };
685
659
 
@@ -831,9 +805,7 @@ export class SpokePoolClient extends BaseAbstractClient {
831
805
 
832
806
  // Next iteration should start off from where this one ended.
833
807
  this.currentTime = currentTime;
834
- this.firstDepositIdForSpokePool = update.firstDepositId;
835
808
  this.latestBlockSearched = searchEndBlock;
836
- this.lastDepositIdForSpokePool = update.latestDepositId;
837
809
  this.firstBlockToSearch = searchEndBlock + 1;
838
810
  this.eventSearchConfig.toBlock = undefined; // Caller can re-set on subsequent updates if necessary
839
811
  this.isUpdated = true;
@@ -929,14 +901,27 @@ export class SpokePoolClient extends BaseAbstractClient {
929
901
  return currentTime.toNumber();
930
902
  }
931
903
 
932
- async findDeposit(depositId: BigNumber, destinationChainId: number): Promise<DepositWithBlock> {
904
+ /**
905
+ * For a given origin chain depositId, resolve the corresponding Deposit.
906
+ * Note: This method can only be used for depositIds within the non-deterministic range (0 < depositId < 2^32 - 1).
907
+ * @param depositId Deposit ID of the deposit to resolve.
908
+ * @returns A DepositSearchResult instance.
909
+ */
910
+ async findDeposit(depositId: BigNumber): Promise<DepositSearchResult> {
911
+ let deposit = this.getDeposit(depositId);
912
+ if (deposit) {
913
+ return { found: true, deposit };
914
+ }
915
+
916
+ // No deposit found; revert to searching for it.
933
917
  const upperBound = this.latestBlockSearched || undefined; // Don't permit block 0 as the high block.
934
918
  const fromBlock = await findDepositBlock(this.spokePool, depositId, this.deploymentBlock, upperBound);
919
+ const chain = getNetworkName(this.chainId);
935
920
  if (!fromBlock) {
936
- const chain = getNetworkName(this.chainId);
937
- throw new Error(
938
- `Unable to find ${chain} depositId ${depositId} within blocks [${this.deploymentBlock}, ${upperBound}]`
939
- );
921
+ const reason =
922
+ `Unable to find ${chain} depositId ${depositId}` +
923
+ ` within blocks [${this.deploymentBlock}, ${upperBound ?? "latest"}].`;
924
+ return { found: false, code: InvalidFill.DepositIdNotFound, reason };
940
925
  }
941
926
 
942
927
  const toBlock = fromBlock;
@@ -961,15 +946,14 @@ export class SpokePoolClient extends BaseAbstractClient {
961
946
 
962
947
  const event = query.find(({ args }) => args["depositId"].eq(depositId));
963
948
  if (event === undefined) {
964
- const srcChain = getNetworkName(this.chainId);
965
- const dstChain = getNetworkName(destinationChainId);
966
- throw new Error(
967
- `Could not find deposit ${depositId.toString()} for ${dstChain} fill` +
968
- ` between ${srcChain} blocks [${fromBlock}, ${toBlock}]`
969
- );
949
+ return {
950
+ found: false,
951
+ code: InvalidFill.DepositIdNotFound,
952
+ reason: `${chain} depositId ${depositId} not found at block ${fromBlock}.`,
953
+ };
970
954
  }
971
955
 
972
- const deposit = {
956
+ deposit = {
973
957
  ...spreadEventWithBlockNumber(event),
974
958
  originChainId: this.chainId,
975
959
  quoteBlockNumber: await this.getBlockNumber(Number(event.args["quoteTimestamp"])),
@@ -990,7 +974,7 @@ export class SpokePoolClient extends BaseAbstractClient {
990
974
  elapsedMs: tStop - tStart,
991
975
  });
992
976
 
993
- return deposit;
977
+ return { found: true, deposit };
994
978
  }
995
979
 
996
980
  /**
@@ -24,7 +24,6 @@ import {
24
24
  randomAddress,
25
25
  BigNumber,
26
26
  bnZero,
27
- bnMax,
28
27
  bnOne,
29
28
  toAddress,
30
29
  toBytes32,
@@ -107,19 +106,10 @@ export class MockSpokePoolClient extends SpokePoolClient {
107
106
  }
108
107
  });
109
108
 
110
- // Update latestDepositIdQueried.
111
- const idx = eventsToQuery.indexOf("V3FundsDeposited");
112
- const latestDepositId = (events[idx] ?? []).reduce(
113
- (depositId, event) => bnMax(depositId, event.args["depositId"] ?? bnZero),
114
- this.latestDepositIdQueried
115
- );
116
-
117
109
  return Promise.resolve({
118
110
  success: true,
119
111
  firstDepositId: bnZero,
120
- latestDepositId,
121
112
  currentTime,
122
- oldestTime: 0,
123
113
  events,
124
114
  searchEndBlock: this.eventSearchConfig.toBlock || latestBlockSearched,
125
115
  });
@@ -1,4 +1,5 @@
1
1
  import { RpcTransport, GetTransactionApi, RpcFromTransport, SolanaRpcApiFromTransport } from "@solana/kit";
2
+ import { getThrowSolanaErrorResponseTransformer } from "@solana/rpc-transformers";
2
3
  import { is, object, optional, string, tuple } from "superstruct";
3
4
  import { CachingMechanismInterface } from "../../interfaces";
4
5
  import { SolanaClusterRpcFactory } from "./baseRpcFactories";
@@ -70,25 +71,38 @@ export class CachedSolanaRpcFactory extends SolanaClusterRpcFactory {
70
71
  // Do not throw if params are not valid, just skip caching and pass through to the underlying transport.
71
72
  if (!this.isGetTransactionParams(params)) return this.rateLimitedTransport<TResponse>(...args);
72
73
 
73
- // Check the confirmation status first to avoid caching non-finalized transactions.
74
- const getSignatureStatusesResponse = await this.rateLimitedRpcClient
75
- .getSignatureStatuses([params[0]], {
76
- searchTransactionHistory: true,
77
- })
78
- .send();
74
+ // Check the confirmation status first to avoid caching non-finalized transactions. In case of null or errors just
75
+ // skip caching and pass through to the underlying transport.
76
+ try {
77
+ const getSignatureStatusesResponse = await this.rateLimitedRpcClient
78
+ .getSignatureStatuses([params[0]], {
79
+ searchTransactionHistory: true,
80
+ })
81
+ .send();
82
+ if (getSignatureStatusesResponse.value[0]?.confirmationStatus !== "finalized") {
83
+ return this.rateLimitedTransport<TResponse>(...args);
84
+ }
85
+ } catch (error) {
86
+ return this.rateLimitedTransport<TResponse>(...args);
87
+ }
79
88
 
80
89
  const getTransactionResponse = await this.rateLimitedTransport<TResponse>(...args);
81
90
 
82
- // Cache the transaction only if it is finalized.
83
- if (getSignatureStatusesResponse.value[0]?.confirmationStatus === "finalized") {
84
- const redisKey = this.buildRedisKey(method, params);
85
- await this.redisClient?.set(
86
- redisKey,
87
- JSON.stringify(getTransactionResponse, jsonReplacerWithBigInts),
88
- Number.POSITIVE_INFINITY
89
- );
91
+ // Do not cache JSON-RPC error responses, let them pass through for the RPC client to handle.
92
+ try {
93
+ getThrowSolanaErrorResponseTransformer()(getTransactionResponse, { methodName: method, params });
94
+ } catch {
95
+ return getTransactionResponse;
90
96
  }
91
97
 
98
+ // Cache the transaction JSON-RPC response as we checked the transaction is finalized and not an error.
99
+ const redisKey = this.buildRedisKey(method, params);
100
+ await this.redisClient?.set(
101
+ redisKey,
102
+ JSON.stringify(getTransactionResponse, jsonReplacerWithBigInts),
103
+ Number.POSITIVE_INFINITY
104
+ );
105
+
92
106
  return getTransactionResponse;
93
107
  }
94
108