@across-protocol/sdk 4.1.19 → 4.1.21

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 (192) hide show
  1. package/dist/cjs/caching/Memory/MemoryCacheClient.d.ts +6 -0
  2. package/dist/cjs/caching/Memory/MemoryCacheClient.js +32 -0
  3. package/dist/cjs/caching/Memory/MemoryCacheClient.js.map +1 -0
  4. package/dist/cjs/caching/Memory/index.d.ts +1 -0
  5. package/dist/cjs/caching/Memory/index.js +5 -0
  6. package/dist/cjs/caching/Memory/index.js.map +1 -0
  7. package/dist/cjs/caching/index.d.ts +1 -0
  8. package/dist/cjs/caching/index.js +1 -0
  9. package/dist/cjs/caching/index.js.map +1 -1
  10. package/dist/cjs/clients/HubPoolClient.d.ts +1 -1
  11. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  12. package/dist/cjs/clients/SpokePoolClient.d.ts +2 -1
  13. package/dist/cjs/clients/SpokePoolClient.js +61 -71
  14. package/dist/cjs/clients/SpokePoolClient.js.map +1 -1
  15. package/dist/cjs/index.d.ts +1 -0
  16. package/dist/cjs/index.js +2 -1
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js +2 -1
  19. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
  20. package/dist/cjs/providers/cachedProvider.js +21 -20
  21. package/dist/cjs/providers/cachedProvider.js.map +1 -1
  22. package/dist/cjs/providers/solana/baseRpcFactories.d.ts +2 -2
  23. package/dist/cjs/providers/solana/baseRpcFactories.js +2 -2
  24. package/dist/cjs/providers/solana/baseRpcFactories.js.map +1 -1
  25. package/dist/cjs/providers/solana/cachedRpcFactory.d.ts +16 -0
  26. package/dist/cjs/providers/solana/cachedRpcFactory.js +121 -0
  27. package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -0
  28. package/dist/cjs/providers/solana/defaultRpcFactory.d.ts +1 -1
  29. package/dist/cjs/providers/solana/defaultRpcFactory.js +2 -2
  30. package/dist/cjs/providers/solana/defaultRpcFactory.js.map +1 -1
  31. package/dist/cjs/providers/solana/index.d.ts +1 -0
  32. package/dist/cjs/providers/solana/index.js +1 -0
  33. package/dist/cjs/providers/solana/index.js.map +1 -1
  34. package/dist/cjs/providers/solana/rateLimitedRpcFactory.d.ts +2 -2
  35. package/dist/cjs/svm/eventsClient.d.ts +15 -0
  36. package/dist/cjs/svm/eventsClient.js +164 -0
  37. package/dist/cjs/svm/eventsClient.js.map +1 -0
  38. package/dist/cjs/svm/index.d.ts +1 -0
  39. package/dist/cjs/svm/index.js +5 -0
  40. package/dist/cjs/svm/index.js.map +1 -0
  41. package/dist/cjs/svm/types.d.ts +29 -0
  42. package/dist/cjs/svm/types.js +21 -0
  43. package/dist/cjs/svm/types.js.map +1 -0
  44. package/dist/cjs/svm/utils/events.d.ts +3 -0
  45. package/dist/cjs/svm/utils/events.js +38 -0
  46. package/dist/cjs/svm/utils/events.js.map +1 -0
  47. package/dist/cjs/svm/utils/helpers.d.ts +2 -0
  48. package/dist/cjs/svm/utils/helpers.js +19 -0
  49. package/dist/cjs/svm/utils/helpers.js.map +1 -0
  50. package/dist/cjs/utils/DepositUtils.js +2 -3
  51. package/dist/cjs/utils/DepositUtils.js.map +1 -1
  52. package/dist/cjs/utils/JSONUtils.d.ts +2 -0
  53. package/dist/cjs/utils/JSONUtils.js +9 -1
  54. package/dist/cjs/utils/JSONUtils.js.map +1 -1
  55. package/dist/cjs/utils/SpokeUtils.d.ts +9 -0
  56. package/dist/cjs/utils/SpokeUtils.js +29 -1
  57. package/dist/cjs/utils/SpokeUtils.js.map +1 -1
  58. package/dist/cjs/utils/index.d.ts +0 -1
  59. package/dist/cjs/utils/index.js +0 -1
  60. package/dist/cjs/utils/index.js.map +1 -1
  61. package/dist/esm/caching/Memory/MemoryCacheClient.d.ts +9 -0
  62. package/dist/esm/caching/Memory/MemoryCacheClient.js +32 -0
  63. package/dist/esm/caching/Memory/MemoryCacheClient.js.map +1 -0
  64. package/dist/esm/caching/Memory/index.d.ts +1 -0
  65. package/dist/esm/caching/Memory/index.js +2 -0
  66. package/dist/esm/caching/Memory/index.js.map +1 -0
  67. package/dist/esm/caching/index.d.ts +1 -0
  68. package/dist/esm/caching/index.js +1 -0
  69. package/dist/esm/caching/index.js.map +1 -1
  70. package/dist/esm/clients/HubPoolClient.d.ts +1 -1
  71. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  72. package/dist/esm/clients/SpokePoolClient.d.ts +2 -1
  73. package/dist/esm/clients/SpokePoolClient.js +61 -70
  74. package/dist/esm/clients/SpokePoolClient.js.map +1 -1
  75. package/dist/esm/index.d.ts +1 -0
  76. package/dist/esm/index.js +2 -0
  77. package/dist/esm/index.js.map +1 -1
  78. package/dist/esm/lpFeeCalculator/lpFeeCalculator.js +2 -1
  79. package/dist/esm/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
  80. package/dist/esm/providers/cachedProvider.js +21 -20
  81. package/dist/esm/providers/cachedProvider.js.map +1 -1
  82. package/dist/esm/providers/solana/baseRpcFactories.d.ts +2 -2
  83. package/dist/esm/providers/solana/baseRpcFactories.js +1 -1
  84. package/dist/esm/providers/solana/baseRpcFactories.js.map +1 -1
  85. package/dist/esm/providers/solana/cachedRpcFactory.d.ts +16 -0
  86. package/dist/esm/providers/solana/cachedRpcFactory.js +128 -0
  87. package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -0
  88. package/dist/esm/providers/solana/defaultRpcFactory.d.ts +1 -1
  89. package/dist/esm/providers/solana/defaultRpcFactory.js +1 -1
  90. package/dist/esm/providers/solana/defaultRpcFactory.js.map +1 -1
  91. package/dist/esm/providers/solana/index.d.ts +1 -0
  92. package/dist/esm/providers/solana/index.js +1 -0
  93. package/dist/esm/providers/solana/index.js.map +1 -1
  94. package/dist/esm/providers/solana/rateLimitedRpcFactory.d.ts +2 -2
  95. package/dist/esm/svm/eventsClient.d.ts +51 -0
  96. package/dist/esm/svm/eventsClient.js +202 -0
  97. package/dist/esm/svm/eventsClient.js.map +1 -0
  98. package/dist/esm/svm/index.d.ts +1 -0
  99. package/dist/esm/svm/index.js +2 -0
  100. package/dist/esm/svm/index.js.map +1 -0
  101. package/dist/esm/svm/types.d.ts +29 -0
  102. package/dist/esm/svm/types.js +18 -0
  103. package/dist/esm/svm/types.js.map +1 -0
  104. package/dist/esm/svm/utils/events.d.ts +9 -0
  105. package/dist/esm/svm/utils/events.js +43 -0
  106. package/dist/esm/svm/utils/events.js.map +1 -0
  107. package/dist/esm/svm/utils/helpers.d.ts +5 -0
  108. package/dist/esm/svm/utils/helpers.js +18 -0
  109. package/dist/esm/svm/utils/helpers.js.map +1 -0
  110. package/dist/esm/utils/DepositUtils.js +1 -2
  111. package/dist/esm/utils/DepositUtils.js.map +1 -1
  112. package/dist/esm/utils/JSONUtils.d.ts +8 -0
  113. package/dist/esm/utils/JSONUtils.js +12 -0
  114. package/dist/esm/utils/JSONUtils.js.map +1 -1
  115. package/dist/esm/utils/SpokeUtils.d.ts +9 -0
  116. package/dist/esm/utils/SpokeUtils.js +34 -1
  117. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  118. package/dist/esm/utils/index.d.ts +0 -1
  119. package/dist/esm/utils/index.js +0 -1
  120. package/dist/esm/utils/index.js.map +1 -1
  121. package/dist/types/caching/Memory/MemoryCacheClient.d.ts +10 -0
  122. package/dist/types/caching/Memory/MemoryCacheClient.d.ts.map +1 -0
  123. package/dist/types/caching/Memory/index.d.ts +2 -0
  124. package/dist/types/caching/Memory/index.d.ts.map +1 -0
  125. package/dist/types/caching/index.d.ts +1 -0
  126. package/dist/types/caching/index.d.ts.map +1 -1
  127. package/dist/types/clients/HubPoolClient.d.ts +1 -1
  128. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  129. package/dist/types/clients/SpokePoolClient.d.ts +2 -1
  130. package/dist/types/clients/SpokePoolClient.d.ts.map +1 -1
  131. package/dist/types/index.d.ts +1 -0
  132. package/dist/types/index.d.ts.map +1 -1
  133. package/dist/types/lpFeeCalculator/lpFeeCalculator.d.ts.map +1 -1
  134. package/dist/types/providers/solana/baseRpcFactories.d.ts +2 -2
  135. package/dist/types/providers/solana/baseRpcFactories.d.ts.map +1 -1
  136. package/dist/types/providers/solana/cachedRpcFactory.d.ts +17 -0
  137. package/dist/types/providers/solana/cachedRpcFactory.d.ts.map +1 -0
  138. package/dist/types/providers/solana/defaultRpcFactory.d.ts +1 -1
  139. package/dist/types/providers/solana/defaultRpcFactory.d.ts.map +1 -1
  140. package/dist/types/providers/solana/index.d.ts +1 -0
  141. package/dist/types/providers/solana/index.d.ts.map +1 -1
  142. package/dist/types/providers/solana/rateLimitedRpcFactory.d.ts +2 -2
  143. package/dist/types/providers/solana/rateLimitedRpcFactory.d.ts.map +1 -1
  144. package/dist/types/svm/eventsClient.d.ts +52 -0
  145. package/dist/types/svm/eventsClient.d.ts.map +1 -0
  146. package/dist/types/svm/index.d.ts +2 -0
  147. package/dist/types/svm/index.d.ts.map +1 -0
  148. package/dist/types/svm/types.d.ts +30 -0
  149. package/dist/types/svm/types.d.ts.map +1 -0
  150. package/dist/types/svm/utils/events.d.ts +10 -0
  151. package/dist/types/svm/utils/events.d.ts.map +1 -0
  152. package/dist/types/svm/utils/helpers.d.ts +6 -0
  153. package/dist/types/svm/utils/helpers.d.ts.map +1 -0
  154. package/dist/types/utils/DepositUtils.d.ts.map +1 -1
  155. package/dist/types/utils/JSONUtils.d.ts +8 -0
  156. package/dist/types/utils/JSONUtils.d.ts.map +1 -1
  157. package/dist/types/utils/SpokeUtils.d.ts +9 -0
  158. package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
  159. package/dist/types/utils/index.d.ts +0 -1
  160. package/dist/types/utils/index.d.ts.map +1 -1
  161. package/package.json +9 -4
  162. package/src/caching/Memory/MemoryCacheClient.ts +35 -0
  163. package/src/caching/Memory/index.ts +1 -0
  164. package/src/caching/index.ts +1 -0
  165. package/src/clients/HubPoolClient.ts +2 -2
  166. package/src/clients/SpokePoolClient.ts +16 -17
  167. package/src/index.ts +1 -0
  168. package/src/lpFeeCalculator/lpFeeCalculator.ts +6 -1
  169. package/src/providers/cachedProvider.ts +34 -34
  170. package/src/providers/solana/baseRpcFactories.ts +1 -1
  171. package/src/providers/solana/cachedRpcFactory.ts +124 -0
  172. package/src/providers/solana/defaultRpcFactory.ts +1 -1
  173. package/src/providers/solana/index.ts +1 -0
  174. package/src/providers/solana/rateLimitedRpcFactory.ts +2 -2
  175. package/src/svm/eventsClient.ts +205 -0
  176. package/src/svm/index.ts +1 -0
  177. package/src/svm/types.ts +47 -0
  178. package/src/svm/utils/events.ts +46 -0
  179. package/src/svm/utils/helpers.ts +9 -0
  180. package/src/utils/DepositUtils.ts +1 -2
  181. package/src/utils/JSONUtils.ts +14 -0
  182. package/src/utils/SpokeUtils.ts +42 -1
  183. package/src/utils/index.ts +0 -1
  184. package/dist/cjs/utils/FlowUtils.d.ts +0 -11
  185. package/dist/cjs/utils/FlowUtils.js +0 -34
  186. package/dist/cjs/utils/FlowUtils.js.map +0 -1
  187. package/dist/esm/utils/FlowUtils.d.ts +0 -11
  188. package/dist/esm/utils/FlowUtils.js +0 -36
  189. package/dist/esm/utils/FlowUtils.js.map +0 -1
  190. package/dist/types/utils/FlowUtils.d.ts +0 -12
  191. package/dist/types/utils/FlowUtils.d.ts.map +0 -1
  192. package/src/utils/FlowUtils.ts +0 -44
@@ -0,0 +1,6 @@
1
+ import { CachingMechanismInterface } from "../../interfaces";
2
+ export declare class MemoryCacheClient implements CachingMechanismInterface {
3
+ private cache;
4
+ get<T>(key: string): Promise<T | null>;
5
+ set<T>(key: string, value: T, ttl?: number): Promise<string | undefined>;
6
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoryCacheClient = void 0;
4
+ var MemoryCacheClient = (function () {
5
+ function MemoryCacheClient() {
6
+ this.cache = new Map();
7
+ }
8
+ MemoryCacheClient.prototype.get = function (key) {
9
+ var _this = this;
10
+ return new Promise(function (resolve) {
11
+ var entry = _this.cache.get(key);
12
+ if (entry === undefined)
13
+ return resolve(null);
14
+ if (entry.expiresAt && entry.expiresAt < Date.now()) {
15
+ _this.cache.delete(key);
16
+ return resolve(null);
17
+ }
18
+ resolve(entry.value);
19
+ });
20
+ };
21
+ MemoryCacheClient.prototype.set = function (key, value, ttl) {
22
+ var _this = this;
23
+ return new Promise(function (resolve) {
24
+ var expiresAt = ttl ? Date.now() + ttl * 1000 : null;
25
+ _this.cache.set(key, { value: value, expiresAt: expiresAt });
26
+ resolve(key);
27
+ });
28
+ };
29
+ return MemoryCacheClient;
30
+ }());
31
+ exports.MemoryCacheClient = MemoryCacheClient;
32
+ //# sourceMappingURL=MemoryCacheClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryCacheClient.js","sourceRoot":"","sources":["../../../../src/caching/Memory/MemoryCacheClient.ts"],"names":[],"mappings":";;;AAUA;IAAA;QACU,UAAK,GAA4B,IAAI,GAAG,EAAE,CAAC;IAuBrD,CAAC;IArBC,+BAAG,GAAH,UAAO,GAAW;QAAlB,iBAYC;QAXC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;YACzB,IAAM,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;gBACnD,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;aACtB;YAED,OAAO,CAAC,KAAK,CAAC,KAAU,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAAG,GAAH,UAAO,GAAW,EAAE,KAAQ,EAAE,GAAY;QAA1C,iBAMC;QALC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;YACzB,IAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACH,wBAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,8CAAiB"}
@@ -0,0 +1 @@
1
+ export * from "./MemoryCacheClient";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./MemoryCacheClient"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/caching/Memory/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC"}
@@ -1,2 +1,3 @@
1
1
  export * from "./IPFS";
2
2
  export * from "./Arweave";
3
+ export * from "./Memory";
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./IPFS"), exports);
5
5
  tslib_1.__exportStar(require("./Arweave"), exports);
6
+ tslib_1.__exportStar(require("./Memory"), exports);
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/caching/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,oDAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/caching/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,oDAA0B;AAC1B,mDAAyB"}
@@ -89,7 +89,7 @@ export declare class HubPoolClient extends BaseAbstractClient {
89
89
  getTokenInfoForL1Token(l1Token: string): L1Token | undefined;
90
90
  getLpTokenInfoForL1Token(l1Token: string): LpToken | undefined;
91
91
  getL1TokenInfoForL2Token(l2Token: string, chainId: number): L1Token | undefined;
92
- getTokenInfoForDeposit(deposit: Deposit): L1Token | undefined;
92
+ getTokenInfoForDeposit(deposit: Pick<Deposit, "inputToken" | "originChainId">): L1Token | undefined;
93
93
  getTokenInfo(chainId: number | string, tokenAddress: string): L1Token | undefined;
94
94
  areTokensEquivalent(tokenA: string, chainIdA: number, tokenB: string, chainIdB: number, hubPoolBlock?: number): boolean;
95
95
  getSpokeActivationBlockForChain(chainId: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"HubPoolClient.js","sourceRoot":"","sources":["../../../src/clients/HubPoolClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubPoolClient.js","sourceRoot":"","sources":["../../../src/clients/HubPoolClient.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,7 @@ export declare class SpokePoolClient extends BaseAbstractClient {
52
52
  protected relayerRefundExecutions: RelayerRefundExecutionWithBlock[];
53
53
  protected queryableEventNames: string[];
54
54
  protected configStoreClient: AcrossConfigStoreClient | undefined;
55
+ protected invalidFills: Set<string>;
55
56
  earliestDepositIdQueried: BigNumber;
56
57
  latestDepositIdQueried: BigNumber;
57
58
  firstDepositIdForSpokePool: BigNumber;
@@ -98,7 +99,7 @@ export declare class SpokePoolClient extends BaseAbstractClient {
98
99
  getValidUnfilledAmountForDeposit(deposit: Deposit): {
99
100
  unfilledAmount: BigNumber;
100
101
  fillCount: number;
101
- invalidFills: Fill[];
102
+ invalidFills: FillWithBlock[];
102
103
  };
103
104
  getDepositHash(event: {
104
105
  depositId: BigNumber;
@@ -3,10 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SpokePoolClient = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var assert_1 = tslib_1.__importDefault(require("assert"));
6
- var ethers_1 = require("ethers");
7
6
  var utils_1 = require("../utils");
8
7
  var EventUtils_1 = require("../utils/EventUtils");
9
- var FlowUtils_1 = require("../utils/FlowUtils");
10
8
  var constants_1 = require("../constants");
11
9
  var NetworkUtils_1 = require("../utils/NetworkUtils");
12
10
  var SpokeUtils_1 = require("../utils/SpokeUtils");
@@ -33,6 +31,7 @@ var SpokePoolClient = (function (_super) {
33
31
  _this.rootBundleRelays = [];
34
32
  _this.relayerRefundExecutions = [];
35
33
  _this.queryableEventNames = [];
34
+ _this.invalidFills = new Set();
36
35
  _this.earliestDepositIdQueried = utils_1.MAX_BIG_INT;
37
36
  _this.latestDepositIdQueried = utils_1.bnZero;
38
37
  _this.firstDepositIdForSpokePool = utils_1.MAX_BIG_INT;
@@ -166,7 +165,7 @@ var SpokePoolClient = (function (_super) {
166
165
  };
167
166
  SpokePoolClient.prototype.getDepositForFill = function (fill) {
168
167
  var deposit = this.depositHashes[(0, utils_1.getRelayEventKey)(fill)];
169
- var match = (0, FlowUtils_1.validateFillForDeposit)(fill, deposit);
168
+ var match = (0, utils_1.validateFillForDeposit)(fill, deposit);
170
169
  if (match.valid) {
171
170
  return deposit;
172
171
  }
@@ -183,7 +182,7 @@ var SpokePoolClient = (function (_super) {
183
182
  return { unfilledAmount: outputAmount, fillCount: 0, invalidFills: [] };
184
183
  }
185
184
  var _a = fillsForDeposit.reduce(function (groupedFills, fill) {
186
- if ((0, FlowUtils_1.validateFillForDeposit)(fill, deposit).valid) {
185
+ if ((0, utils_1.validateFillForDeposit)(fill, deposit).valid) {
187
186
  var repaymentChainId = (0, FillUtils_1.getRepaymentChainId)(fill, deposit);
188
187
  if (_this.hubPoolClient &&
189
188
  !(0, utils_1.isSlowFill)(fill) &&
@@ -198,7 +197,14 @@ var SpokePoolClient = (function (_super) {
198
197
  }
199
198
  return groupedFills;
200
199
  }, { validFills: [], invalidFills: [], unrepayableFills: [] }), validFills = _a.validFills, invalidFills = _a.invalidFills, unrepayableFills = _a.unrepayableFills;
201
- var invalidFillsForDeposit = invalidFills.filter(function (x) { return x.depositId.eq(deposit.depositId); });
200
+ var invalidFillsForDeposit = invalidFills.filter(function (x) {
201
+ var txnUid = "".concat(x.transactionHash, ":").concat(x.logIndex);
202
+ var newInvalidFill = x.depositId.eq(deposit.depositId) && !_this.invalidFills.has(txnUid);
203
+ if (newInvalidFill) {
204
+ _this.invalidFills.add(txnUid);
205
+ }
206
+ return newInvalidFill;
207
+ });
202
208
  if (invalidFillsForDeposit.length > 0) {
203
209
  this.logger.warn({
204
210
  at: "SpokePoolClient",
@@ -326,10 +332,10 @@ var SpokePoolClient = (function (_super) {
326
332
  SpokePoolClient.prototype.update = function (eventsToQuery) {
327
333
  if (eventsToQuery === void 0) { eventsToQuery = this.queryableEventNames; }
328
334
  return tslib_1.__awaiter(this, void 0, void 0, function () {
329
- var duplicateEvents, update, queryResults, currentTime, searchEndBlock, legacySpokePoolAbi, prevSpoke, legacyQueryResults, _a, _b, _i, legacyQueryResults_1, event_1, _c, _d, event_2, queryDepositEvents, _e, _f, event_3, querySpeedUpDepositEvents, queryRequestedSlowFillEvents, queryFilledRelayEvents, enableDepositsEvents, _g, enableDepositsEvents_1, event_4, enableDeposit, relayedRootBundleEvents, _h, relayedRootBundleEvents_1, event_5, refundEvents, _j, refundEvents_1, event_6, executedRefund;
335
+ var duplicateEvents, update, queryResults, currentTime, searchEndBlock, _i, _a, event_1, queryDepositEvents, _b, _c, event_2, querySpeedUpDepositEvents, queryRequestedSlowFillEvents, queryFilledRelayEvents, enableDepositsEvents, _d, enableDepositsEvents_1, event_3, enableDeposit, relayedRootBundleEvents, _e, relayedRootBundleEvents_1, event_4, refundEvents, _f, refundEvents_1, event_5, executedRefund;
330
336
  var _this = this;
331
- return tslib_1.__generator(this, function (_k) {
332
- switch (_k.label) {
337
+ return tslib_1.__generator(this, function (_g) {
338
+ switch (_g.label) {
333
339
  case 0:
334
340
  duplicateEvents = [];
335
341
  if (this.hubPoolClient !== null && !this.hubPoolClient.isUpdated) {
@@ -337,35 +343,19 @@ var SpokePoolClient = (function (_super) {
337
343
  }
338
344
  return [4, this._update(eventsToQuery)];
339
345
  case 1:
340
- update = _k.sent();
346
+ update = _g.sent();
341
347
  if (!update.success) {
342
348
  return [2];
343
349
  }
344
350
  queryResults = update.events, currentTime = update.currentTime, searchEndBlock = update.searchEndBlock;
345
- if (!eventsToQuery.includes("TokensBridged")) return [3, 4];
346
- legacySpokePoolAbi = [
347
- "event TokensBridged(uint256 amountToReturn,uint256 indexed chainId,uint32 indexed leafId,address indexed l2TokenAddress,address caller)",
348
- ];
349
- prevSpoke = new ethers_1.Contract(this.spokePool.address, legacySpokePoolAbi, this.spokePool.provider);
350
- _a = EventUtils_1.paginatedEventQuery;
351
- _b = [prevSpoke,
352
- prevSpoke.filters.TokensBridged()];
353
- return [4, this.updateSearchConfig(this.spokePool.provider)];
354
- case 2: return [4, _a.apply(void 0, _b.concat([(_k.sent())]))];
355
- case 3:
356
- legacyQueryResults = _k.sent();
357
- for (_i = 0, legacyQueryResults_1 = legacyQueryResults; _i < legacyQueryResults_1.length; _i++) {
358
- event_1 = legacyQueryResults_1[_i];
359
- this.tokensBridged.push((0, EventUtils_1.spreadEventWithBlockNumber)(event_1));
360
- }
361
- for (_c = 0, _d = queryResults[eventsToQuery.indexOf("TokensBridged")]; _c < _d.length; _c++) {
362
- event_2 = _d[_c];
363
- this.tokensBridged.push((0, EventUtils_1.spreadEventWithBlockNumber)(event_2));
351
+ if (eventsToQuery.includes("TokensBridged")) {
352
+ for (_i = 0, _a = queryResults[eventsToQuery.indexOf("TokensBridged")]; _i < _a.length; _i++) {
353
+ event_1 = _a[_i];
354
+ this.tokensBridged.push((0, EventUtils_1.spreadEventWithBlockNumber)(event_1));
355
+ }
364
356
  }
365
- _k.label = 4;
366
- case 4:
367
357
  queryDepositEvents = function (eventName) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
368
- var depositEvents, quoteBlockNumbers, _loop_1, this_1, _i, depositEvents_1, event_7;
358
+ var depositEvents, quoteBlockNumbers, _loop_1, this_1, _i, depositEvents_1, event_6;
369
359
  var _a;
370
360
  return tslib_1.__generator(this, function (_b) {
371
361
  switch (_b.label) {
@@ -382,9 +372,9 @@ var SpokePoolClient = (function (_super) {
382
372
  }))];
383
373
  case 1:
384
374
  quoteBlockNumbers = _b.sent();
385
- _loop_1 = function (event_7) {
386
- var quoteBlockNumber = quoteBlockNumbers[Number(event_7.args["quoteTimestamp"])];
387
- var deposit = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_7)), { messageHash: (0, utils_1.getMessageHash)(event_7.args.message), quoteBlockNumber: quoteBlockNumber, originChainId: this_1.chainId, fromLiteChain: true, toLiteChain: true });
375
+ _loop_1 = function (event_6) {
376
+ var quoteBlockNumber = quoteBlockNumbers[Number(event_6.args["quoteTimestamp"])];
377
+ var deposit = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_6)), { messageHash: (0, utils_1.getMessageHash)(event_6.args.message), quoteBlockNumber: quoteBlockNumber, originChainId: this_1.chainId, fromLiteChain: true, toLiteChain: true });
388
378
  deposit.fromLiteChain = this_1.isOriginLiteChain(deposit);
389
379
  deposit.toLiteChain = this_1.isDestinationLiteChain(deposit);
390
380
  if ((0, utils_1.isZeroAddress)(deposit.outputToken)) {
@@ -393,7 +383,7 @@ var SpokePoolClient = (function (_super) {
393
383
  if (this_1.depositHashes[(0, utils_1.getRelayEventKey)(deposit)] !== undefined) {
394
384
  var allDeposits = this_1._getDuplicateDeposits(deposit).concat(this_1.depositHashes[(0, utils_1.getRelayEventKey)(deposit)]);
395
385
  if (allDeposits.some(function (e) { return (0, EventUtils_1.duplicateEvent)(deposit, e); })) {
396
- duplicateEvents.push(event_7);
386
+ duplicateEvents.push(event_6);
397
387
  return "continue";
398
388
  }
399
389
  (0, utils_1.assign)(this_1.duplicateDepositHashes, [(0, utils_1.getRelayEventKey)(deposit)], [deposit]);
@@ -409,33 +399,33 @@ var SpokePoolClient = (function (_super) {
409
399
  };
410
400
  this_1 = this;
411
401
  for (_i = 0, depositEvents_1 = depositEvents; _i < depositEvents_1.length; _i++) {
412
- event_7 = depositEvents_1[_i];
413
- _loop_1(event_7);
402
+ event_6 = depositEvents_1[_i];
403
+ _loop_1(event_6);
414
404
  }
415
405
  return [2];
416
406
  }
417
407
  });
418
408
  }); };
419
- _e = 0, _f = ["V3FundsDeposited", "FundsDeposited"];
420
- _k.label = 5;
409
+ _b = 0, _c = ["V3FundsDeposited", "FundsDeposited"];
410
+ _g.label = 2;
411
+ case 2:
412
+ if (!(_b < _c.length)) return [3, 5];
413
+ event_2 = _c[_b];
414
+ if (!eventsToQuery.includes(event_2)) return [3, 4];
415
+ return [4, queryDepositEvents(event_2)];
416
+ case 3:
417
+ _g.sent();
418
+ _g.label = 4;
419
+ case 4:
420
+ _b++;
421
+ return [3, 2];
421
422
  case 5:
422
- if (!(_e < _f.length)) return [3, 8];
423
- event_3 = _f[_e];
424
- if (!eventsToQuery.includes(event_3)) return [3, 7];
425
- return [4, queryDepositEvents(event_3)];
426
- case 6:
427
- _k.sent();
428
- _k.label = 7;
429
- case 7:
430
- _e++;
431
- return [3, 5];
432
- case 8:
433
423
  querySpeedUpDepositEvents = function (eventName) {
434
424
  var _a;
435
425
  var speedUpEvents = (_a = queryResults[eventsToQuery.indexOf(eventName)]) !== null && _a !== void 0 ? _a : [];
436
426
  for (var _i = 0, speedUpEvents_1 = speedUpEvents; _i < speedUpEvents_1.length; _i++) {
437
- var event_8 = speedUpEvents_1[_i];
438
- var speedUp = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_8)), { originChainId: _this.chainId });
427
+ var event_7 = speedUpEvents_1[_i];
428
+ var speedUp = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_7)), { originChainId: _this.chainId });
439
429
  (0, utils_1.assign)(_this.speedUps, [speedUp.depositor, speedUp.depositId.toString()], [speedUp]);
440
430
  var deposit = _this.getDeposit(speedUp.depositId);
441
431
  if ((0, utils_1.isDefined)(deposit)) {
@@ -454,14 +444,14 @@ var SpokePoolClient = (function (_super) {
454
444
  var _b;
455
445
  var slowFillRequests = queryResults[eventsToQuery.indexOf(eventName)];
456
446
  for (var _i = 0, slowFillRequests_1 = slowFillRequests; _i < slowFillRequests_1.length; _i++) {
457
- var event_9 = slowFillRequests_1[_i];
458
- var slowFillRequest = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_9)), { destinationChainId: _this.chainId });
447
+ var event_8 = slowFillRequests_1[_i];
448
+ var slowFillRequest = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_8)), { destinationChainId: _this.chainId });
459
449
  if (eventName === "RequestedV3SlowFill") {
460
450
  slowFillRequest.messageHash = (0, utils_1.getMessageHash)(slowFillRequest.message);
461
451
  }
462
452
  var depositHash = (0, utils_1.getRelayEventKey)(tslib_1.__assign(tslib_1.__assign({}, slowFillRequest), { destinationChainId: _this.chainId }));
463
453
  if (_this.slowFillRequests[depositHash] !== undefined) {
464
- duplicateEvents.push(event_9);
454
+ duplicateEvents.push(event_8);
465
455
  continue;
466
456
  }
467
457
  (_a = (_b = _this.slowFillRequests)[depositHash]) !== null && _a !== void 0 ? _a : (_b[depositHash] = slowFillRequest);
@@ -480,23 +470,23 @@ var SpokePoolClient = (function (_super) {
480
470
  earliestEvent: fillEvents[0].blockNumber,
481
471
  });
482
472
  }
483
- var _loop_2 = function (event_10) {
484
- var fill = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_10)), { destinationChainId: _this.chainId });
473
+ var _loop_2 = function (event_9) {
474
+ var fill = tslib_1.__assign(tslib_1.__assign({}, (0, EventUtils_1.spreadEventWithBlockNumber)(event_9)), { destinationChainId: _this.chainId });
485
475
  if (eventName === "FilledV3Relay") {
486
- fill.messageHash = (0, utils_1.getMessageHash)(event_10.args.message);
487
- fill.relayExecutionInfo.updatedMessageHash = (0, utils_1.getMessageHash)(event_10.args.relayExecutionInfo.updatedMessage);
476
+ fill.messageHash = (0, utils_1.getMessageHash)(event_9.args.message);
477
+ fill.relayExecutionInfo.updatedMessageHash = (0, utils_1.getMessageHash)(event_9.args.relayExecutionInfo.updatedMessage);
488
478
  }
489
479
  var duplicateFill = (_b = _this.fills[fill.originChainId]) === null || _b === void 0 ? void 0 : _b.find(function (f) { return (0, EventUtils_1.duplicateEvent)(fill, f); });
490
480
  if (duplicateFill) {
491
- duplicateEvents.push(event_10);
481
+ duplicateEvents.push(event_9);
492
482
  return "continue";
493
483
  }
494
484
  (0, utils_1.assign)(_this.fills, [fill.originChainId], [fill]);
495
485
  (0, utils_1.assign)(_this.depositHashesToFills, [_this.getDepositHash(fill)], [fill]);
496
486
  };
497
487
  for (var _i = 0, fillEvents_1 = fillEvents; _i < fillEvents_1.length; _i++) {
498
- var event_10 = fillEvents_1[_i];
499
- _loop_2(event_10);
488
+ var event_9 = fillEvents_1[_i];
489
+ _loop_2(event_9);
500
490
  }
501
491
  };
502
492
  ["FilledV3Relay", "FilledRelay"].forEach(function (event) {
@@ -506,24 +496,24 @@ var SpokePoolClient = (function (_super) {
506
496
  });
507
497
  if (eventsToQuery.includes("EnabledDepositRoute")) {
508
498
  enableDepositsEvents = queryResults[eventsToQuery.indexOf("EnabledDepositRoute")];
509
- for (_g = 0, enableDepositsEvents_1 = enableDepositsEvents; _g < enableDepositsEvents_1.length; _g++) {
510
- event_4 = enableDepositsEvents_1[_g];
511
- enableDeposit = (0, EventUtils_1.spreadEvent)(event_4.args);
499
+ for (_d = 0, enableDepositsEvents_1 = enableDepositsEvents; _d < enableDepositsEvents_1.length; _d++) {
500
+ event_3 = enableDepositsEvents_1[_d];
501
+ enableDeposit = (0, EventUtils_1.spreadEvent)(event_3.args);
512
502
  (0, utils_1.assign)(this.depositRoutes, [enableDeposit.originToken, enableDeposit.destinationChainId], enableDeposit.enabled);
513
503
  }
514
504
  }
515
505
  if (eventsToQuery.includes("RelayedRootBundle")) {
516
506
  relayedRootBundleEvents = queryResults[eventsToQuery.indexOf("RelayedRootBundle")];
517
- for (_h = 0, relayedRootBundleEvents_1 = relayedRootBundleEvents; _h < relayedRootBundleEvents_1.length; _h++) {
518
- event_5 = relayedRootBundleEvents_1[_h];
519
- this.rootBundleRelays.push((0, EventUtils_1.spreadEventWithBlockNumber)(event_5));
507
+ for (_e = 0, relayedRootBundleEvents_1 = relayedRootBundleEvents; _e < relayedRootBundleEvents_1.length; _e++) {
508
+ event_4 = relayedRootBundleEvents_1[_e];
509
+ this.rootBundleRelays.push((0, EventUtils_1.spreadEventWithBlockNumber)(event_4));
520
510
  }
521
511
  }
522
512
  if (eventsToQuery.includes("ExecutedRelayerRefundRoot")) {
523
513
  refundEvents = queryResults[eventsToQuery.indexOf("ExecutedRelayerRefundRoot")];
524
- for (_j = 0, refundEvents_1 = refundEvents; _j < refundEvents_1.length; _j++) {
525
- event_6 = refundEvents_1[_j];
526
- executedRefund = (0, EventUtils_1.spreadEventWithBlockNumber)(event_6);
514
+ for (_f = 0, refundEvents_1 = refundEvents; _f < refundEvents_1.length; _f++) {
515
+ event_5 = refundEvents_1[_f];
516
+ executedRefund = (0, EventUtils_1.spreadEventWithBlockNumber)(event_5);
527
517
  executedRefund.l2TokenAddress = SpokePoolClient.getExecutedRefundLeafL2Token(executedRefund.chainId, executedRefund.l2TokenAddress);
528
518
  this.relayerRefundExecutions.push(executedRefund);
529
519
  }