@across-protocol/sdk 4.1.19 → 4.1.22

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 (264) hide show
  1. package/dist/cjs/addressAggregator/adapters/bybit.d.ts +10 -0
  2. package/dist/cjs/addressAggregator/adapters/bybit.js +42 -0
  3. package/dist/cjs/addressAggregator/adapters/bybit.js.map +1 -0
  4. package/dist/cjs/addressAggregator/adapters/env.d.ts +8 -0
  5. package/dist/cjs/addressAggregator/adapters/env.js +33 -0
  6. package/dist/cjs/addressAggregator/adapters/env.js.map +1 -0
  7. package/dist/cjs/addressAggregator/adapters/file.d.ts +8 -0
  8. package/dist/cjs/addressAggregator/adapters/file.js +50 -0
  9. package/dist/cjs/addressAggregator/adapters/file.js.map +1 -0
  10. package/dist/cjs/addressAggregator/adapters/index.d.ts +3 -0
  11. package/dist/cjs/addressAggregator/adapters/index.js +8 -0
  12. package/dist/cjs/addressAggregator/adapters/index.js.map +1 -0
  13. package/dist/cjs/addressAggregator/adapters/util.d.ts +4 -0
  14. package/dist/cjs/addressAggregator/adapters/util.js +66 -0
  15. package/dist/cjs/addressAggregator/adapters/util.js.map +1 -0
  16. package/dist/cjs/addressAggregator/index.d.ts +10 -0
  17. package/dist/cjs/addressAggregator/index.js +109 -0
  18. package/dist/cjs/addressAggregator/index.js.map +1 -0
  19. package/dist/cjs/addressAggregator/types.d.ts +6 -0
  20. package/dist/cjs/addressAggregator/types.js +5 -0
  21. package/dist/cjs/addressAggregator/types.js.map +1 -0
  22. package/dist/cjs/caching/Memory/MemoryCacheClient.d.ts +6 -0
  23. package/dist/cjs/caching/Memory/MemoryCacheClient.js +32 -0
  24. package/dist/cjs/caching/Memory/MemoryCacheClient.js.map +1 -0
  25. package/dist/cjs/caching/Memory/index.d.ts +1 -0
  26. package/dist/cjs/caching/Memory/index.js +5 -0
  27. package/dist/cjs/caching/Memory/index.js.map +1 -0
  28. package/dist/cjs/caching/index.d.ts +1 -0
  29. package/dist/cjs/caching/index.js +1 -0
  30. package/dist/cjs/caching/index.js.map +1 -1
  31. package/dist/cjs/clients/HubPoolClient.d.ts +1 -1
  32. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  33. package/dist/cjs/clients/SpokePoolClient.d.ts +2 -1
  34. package/dist/cjs/clients/SpokePoolClient.js +61 -71
  35. package/dist/cjs/clients/SpokePoolClient.js.map +1 -1
  36. package/dist/cjs/index.d.ts +2 -0
  37. package/dist/cjs/index.js +3 -1
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js +2 -1
  40. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
  41. package/dist/cjs/providers/cachedProvider.js +21 -20
  42. package/dist/cjs/providers/cachedProvider.js.map +1 -1
  43. package/dist/cjs/providers/solana/baseRpcFactories.d.ts +2 -2
  44. package/dist/cjs/providers/solana/baseRpcFactories.js +2 -2
  45. package/dist/cjs/providers/solana/baseRpcFactories.js.map +1 -1
  46. package/dist/cjs/providers/solana/cachedRpcFactory.d.ts +16 -0
  47. package/dist/cjs/providers/solana/cachedRpcFactory.js +121 -0
  48. package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -0
  49. package/dist/cjs/providers/solana/defaultRpcFactory.d.ts +1 -1
  50. package/dist/cjs/providers/solana/defaultRpcFactory.js +2 -2
  51. package/dist/cjs/providers/solana/defaultRpcFactory.js.map +1 -1
  52. package/dist/cjs/providers/solana/index.d.ts +1 -0
  53. package/dist/cjs/providers/solana/index.js +1 -0
  54. package/dist/cjs/providers/solana/index.js.map +1 -1
  55. package/dist/cjs/providers/solana/rateLimitedRpcFactory.d.ts +2 -2
  56. package/dist/cjs/svm/eventsClient.d.ts +15 -0
  57. package/dist/cjs/svm/eventsClient.js +164 -0
  58. package/dist/cjs/svm/eventsClient.js.map +1 -0
  59. package/dist/cjs/svm/index.d.ts +1 -0
  60. package/dist/cjs/svm/index.js +5 -0
  61. package/dist/cjs/svm/index.js.map +1 -0
  62. package/dist/cjs/svm/types.d.ts +29 -0
  63. package/dist/cjs/svm/types.js +21 -0
  64. package/dist/cjs/svm/types.js.map +1 -0
  65. package/dist/cjs/svm/utils/events.d.ts +3 -0
  66. package/dist/cjs/svm/utils/events.js +38 -0
  67. package/dist/cjs/svm/utils/events.js.map +1 -0
  68. package/dist/cjs/svm/utils/helpers.d.ts +2 -0
  69. package/dist/cjs/svm/utils/helpers.js +19 -0
  70. package/dist/cjs/svm/utils/helpers.js.map +1 -0
  71. package/dist/cjs/utils/DepositUtils.js +2 -3
  72. package/dist/cjs/utils/DepositUtils.js.map +1 -1
  73. package/dist/cjs/utils/JSONUtils.d.ts +2 -0
  74. package/dist/cjs/utils/JSONUtils.js +9 -1
  75. package/dist/cjs/utils/JSONUtils.js.map +1 -1
  76. package/dist/cjs/utils/LogUtils.d.ts +4 -2
  77. package/dist/cjs/utils/LogUtils.js +10 -1
  78. package/dist/cjs/utils/LogUtils.js.map +1 -1
  79. package/dist/cjs/utils/SpokeUtils.d.ts +9 -0
  80. package/dist/cjs/utils/SpokeUtils.js +29 -1
  81. package/dist/cjs/utils/SpokeUtils.js.map +1 -1
  82. package/dist/cjs/utils/index.d.ts +0 -1
  83. package/dist/cjs/utils/index.js +0 -1
  84. package/dist/cjs/utils/index.js.map +1 -1
  85. package/dist/esm/addressAggregator/adapters/bybit.d.ts +10 -0
  86. package/dist/esm/addressAggregator/adapters/bybit.js +41 -0
  87. package/dist/esm/addressAggregator/adapters/bybit.js.map +1 -0
  88. package/dist/esm/addressAggregator/adapters/env.d.ts +8 -0
  89. package/dist/esm/addressAggregator/adapters/env.js +30 -0
  90. package/dist/esm/addressAggregator/adapters/env.js.map +1 -0
  91. package/dist/esm/addressAggregator/adapters/file.d.ts +8 -0
  92. package/dist/esm/addressAggregator/adapters/file.js +47 -0
  93. package/dist/esm/addressAggregator/adapters/file.js.map +1 -0
  94. package/dist/esm/addressAggregator/adapters/index.d.ts +3 -0
  95. package/dist/esm/addressAggregator/adapters/index.js +7 -0
  96. package/dist/esm/addressAggregator/adapters/index.js.map +1 -0
  97. package/dist/esm/addressAggregator/adapters/util.d.ts +4 -0
  98. package/dist/esm/addressAggregator/adapters/util.js +60 -0
  99. package/dist/esm/addressAggregator/adapters/util.js.map +1 -0
  100. package/dist/esm/addressAggregator/index.d.ts +10 -0
  101. package/dist/esm/addressAggregator/index.js +107 -0
  102. package/dist/esm/addressAggregator/index.js.map +1 -0
  103. package/dist/esm/addressAggregator/types.d.ts +6 -0
  104. package/dist/esm/addressAggregator/types.js +2 -0
  105. package/dist/esm/addressAggregator/types.js.map +1 -0
  106. package/dist/esm/caching/Memory/MemoryCacheClient.d.ts +9 -0
  107. package/dist/esm/caching/Memory/MemoryCacheClient.js +32 -0
  108. package/dist/esm/caching/Memory/MemoryCacheClient.js.map +1 -0
  109. package/dist/esm/caching/Memory/index.d.ts +1 -0
  110. package/dist/esm/caching/Memory/index.js +2 -0
  111. package/dist/esm/caching/Memory/index.js.map +1 -0
  112. package/dist/esm/caching/index.d.ts +1 -0
  113. package/dist/esm/caching/index.js +1 -0
  114. package/dist/esm/caching/index.js.map +1 -1
  115. package/dist/esm/clients/HubPoolClient.d.ts +1 -1
  116. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  117. package/dist/esm/clients/SpokePoolClient.d.ts +2 -1
  118. package/dist/esm/clients/SpokePoolClient.js +61 -70
  119. package/dist/esm/clients/SpokePoolClient.js.map +1 -1
  120. package/dist/esm/index.d.ts +2 -0
  121. package/dist/esm/index.js +4 -0
  122. package/dist/esm/index.js.map +1 -1
  123. package/dist/esm/lpFeeCalculator/lpFeeCalculator.js +2 -1
  124. package/dist/esm/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
  125. package/dist/esm/providers/cachedProvider.js +21 -20
  126. package/dist/esm/providers/cachedProvider.js.map +1 -1
  127. package/dist/esm/providers/solana/baseRpcFactories.d.ts +2 -2
  128. package/dist/esm/providers/solana/baseRpcFactories.js +1 -1
  129. package/dist/esm/providers/solana/baseRpcFactories.js.map +1 -1
  130. package/dist/esm/providers/solana/cachedRpcFactory.d.ts +16 -0
  131. package/dist/esm/providers/solana/cachedRpcFactory.js +128 -0
  132. package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -0
  133. package/dist/esm/providers/solana/defaultRpcFactory.d.ts +1 -1
  134. package/dist/esm/providers/solana/defaultRpcFactory.js +1 -1
  135. package/dist/esm/providers/solana/defaultRpcFactory.js.map +1 -1
  136. package/dist/esm/providers/solana/index.d.ts +1 -0
  137. package/dist/esm/providers/solana/index.js +1 -0
  138. package/dist/esm/providers/solana/index.js.map +1 -1
  139. package/dist/esm/providers/solana/rateLimitedRpcFactory.d.ts +2 -2
  140. package/dist/esm/svm/eventsClient.d.ts +51 -0
  141. package/dist/esm/svm/eventsClient.js +202 -0
  142. package/dist/esm/svm/eventsClient.js.map +1 -0
  143. package/dist/esm/svm/index.d.ts +1 -0
  144. package/dist/esm/svm/index.js +2 -0
  145. package/dist/esm/svm/index.js.map +1 -0
  146. package/dist/esm/svm/types.d.ts +29 -0
  147. package/dist/esm/svm/types.js +18 -0
  148. package/dist/esm/svm/types.js.map +1 -0
  149. package/dist/esm/svm/utils/events.d.ts +9 -0
  150. package/dist/esm/svm/utils/events.js +43 -0
  151. package/dist/esm/svm/utils/events.js.map +1 -0
  152. package/dist/esm/svm/utils/helpers.d.ts +5 -0
  153. package/dist/esm/svm/utils/helpers.js +18 -0
  154. package/dist/esm/svm/utils/helpers.js.map +1 -0
  155. package/dist/esm/utils/DepositUtils.js +1 -2
  156. package/dist/esm/utils/DepositUtils.js.map +1 -1
  157. package/dist/esm/utils/JSONUtils.d.ts +8 -0
  158. package/dist/esm/utils/JSONUtils.js +12 -0
  159. package/dist/esm/utils/JSONUtils.js.map +1 -1
  160. package/dist/esm/utils/LogUtils.d.ts +4 -2
  161. package/dist/esm/utils/LogUtils.js +10 -1
  162. package/dist/esm/utils/LogUtils.js.map +1 -1
  163. package/dist/esm/utils/SpokeUtils.d.ts +9 -0
  164. package/dist/esm/utils/SpokeUtils.js +34 -1
  165. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  166. package/dist/esm/utils/index.d.ts +0 -1
  167. package/dist/esm/utils/index.js +0 -1
  168. package/dist/esm/utils/index.js.map +1 -1
  169. package/dist/types/addressAggregator/adapters/bybit.d.ts +11 -0
  170. package/dist/types/addressAggregator/adapters/bybit.d.ts.map +1 -0
  171. package/dist/types/addressAggregator/adapters/env.d.ts +9 -0
  172. package/dist/types/addressAggregator/adapters/env.d.ts.map +1 -0
  173. package/dist/types/addressAggregator/adapters/file.d.ts +9 -0
  174. package/dist/types/addressAggregator/adapters/file.d.ts.map +1 -0
  175. package/dist/types/addressAggregator/adapters/index.d.ts +4 -0
  176. package/dist/types/addressAggregator/adapters/index.d.ts.map +1 -0
  177. package/dist/types/addressAggregator/adapters/util.d.ts +5 -0
  178. package/dist/types/addressAggregator/adapters/util.d.ts.map +1 -0
  179. package/dist/types/addressAggregator/index.d.ts +11 -0
  180. package/dist/types/addressAggregator/index.d.ts.map +1 -0
  181. package/dist/types/addressAggregator/types.d.ts +7 -0
  182. package/dist/types/addressAggregator/types.d.ts.map +1 -0
  183. package/dist/types/caching/Memory/MemoryCacheClient.d.ts +10 -0
  184. package/dist/types/caching/Memory/MemoryCacheClient.d.ts.map +1 -0
  185. package/dist/types/caching/Memory/index.d.ts +2 -0
  186. package/dist/types/caching/Memory/index.d.ts.map +1 -0
  187. package/dist/types/caching/index.d.ts +1 -0
  188. package/dist/types/caching/index.d.ts.map +1 -1
  189. package/dist/types/clients/HubPoolClient.d.ts +1 -1
  190. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  191. package/dist/types/clients/SpokePoolClient.d.ts +2 -1
  192. package/dist/types/clients/SpokePoolClient.d.ts.map +1 -1
  193. package/dist/types/index.d.ts +2 -0
  194. package/dist/types/index.d.ts.map +1 -1
  195. package/dist/types/lpFeeCalculator/lpFeeCalculator.d.ts.map +1 -1
  196. package/dist/types/providers/solana/baseRpcFactories.d.ts +2 -2
  197. package/dist/types/providers/solana/baseRpcFactories.d.ts.map +1 -1
  198. package/dist/types/providers/solana/cachedRpcFactory.d.ts +17 -0
  199. package/dist/types/providers/solana/cachedRpcFactory.d.ts.map +1 -0
  200. package/dist/types/providers/solana/defaultRpcFactory.d.ts +1 -1
  201. package/dist/types/providers/solana/defaultRpcFactory.d.ts.map +1 -1
  202. package/dist/types/providers/solana/index.d.ts +1 -0
  203. package/dist/types/providers/solana/index.d.ts.map +1 -1
  204. package/dist/types/providers/solana/rateLimitedRpcFactory.d.ts +2 -2
  205. package/dist/types/providers/solana/rateLimitedRpcFactory.d.ts.map +1 -1
  206. package/dist/types/svm/eventsClient.d.ts +52 -0
  207. package/dist/types/svm/eventsClient.d.ts.map +1 -0
  208. package/dist/types/svm/index.d.ts +2 -0
  209. package/dist/types/svm/index.d.ts.map +1 -0
  210. package/dist/types/svm/types.d.ts +30 -0
  211. package/dist/types/svm/types.d.ts.map +1 -0
  212. package/dist/types/svm/utils/events.d.ts +10 -0
  213. package/dist/types/svm/utils/events.d.ts.map +1 -0
  214. package/dist/types/svm/utils/helpers.d.ts +6 -0
  215. package/dist/types/svm/utils/helpers.d.ts.map +1 -0
  216. package/dist/types/utils/DepositUtils.d.ts.map +1 -1
  217. package/dist/types/utils/JSONUtils.d.ts +8 -0
  218. package/dist/types/utils/JSONUtils.d.ts.map +1 -1
  219. package/dist/types/utils/LogUtils.d.ts +4 -2
  220. package/dist/types/utils/LogUtils.d.ts.map +1 -1
  221. package/dist/types/utils/SpokeUtils.d.ts +9 -0
  222. package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
  223. package/dist/types/utils/index.d.ts +0 -1
  224. package/dist/types/utils/index.d.ts.map +1 -1
  225. package/package.json +8 -3
  226. package/src/addressAggregator/adapters/bybit.ts +32 -0
  227. package/src/addressAggregator/adapters/env.ts +30 -0
  228. package/src/addressAggregator/adapters/file.ts +39 -0
  229. package/src/addressAggregator/adapters/index.ts +3 -0
  230. package/src/addressAggregator/adapters/util.ts +47 -0
  231. package/src/addressAggregator/index.ts +86 -0
  232. package/src/addressAggregator/types.ts +8 -0
  233. package/src/caching/Memory/MemoryCacheClient.ts +35 -0
  234. package/src/caching/Memory/index.ts +1 -0
  235. package/src/caching/index.ts +1 -0
  236. package/src/clients/HubPoolClient.ts +2 -2
  237. package/src/clients/SpokePoolClient.ts +16 -17
  238. package/src/index.ts +2 -0
  239. package/src/lpFeeCalculator/lpFeeCalculator.ts +6 -1
  240. package/src/providers/cachedProvider.ts +34 -34
  241. package/src/providers/solana/baseRpcFactories.ts +1 -1
  242. package/src/providers/solana/cachedRpcFactory.ts +124 -0
  243. package/src/providers/solana/defaultRpcFactory.ts +1 -1
  244. package/src/providers/solana/index.ts +1 -0
  245. package/src/providers/solana/rateLimitedRpcFactory.ts +2 -2
  246. package/src/svm/eventsClient.ts +205 -0
  247. package/src/svm/index.ts +1 -0
  248. package/src/svm/types.ts +47 -0
  249. package/src/svm/utils/events.ts +46 -0
  250. package/src/svm/utils/helpers.ts +9 -0
  251. package/src/utils/DepositUtils.ts +1 -2
  252. package/src/utils/JSONUtils.ts +14 -0
  253. package/src/utils/LogUtils.ts +3 -2
  254. package/src/utils/SpokeUtils.ts +42 -1
  255. package/src/utils/index.ts +0 -1
  256. package/dist/cjs/utils/FlowUtils.d.ts +0 -11
  257. package/dist/cjs/utils/FlowUtils.js +0 -34
  258. package/dist/cjs/utils/FlowUtils.js.map +0 -1
  259. package/dist/esm/utils/FlowUtils.d.ts +0 -11
  260. package/dist/esm/utils/FlowUtils.js +0 -36
  261. package/dist/esm/utils/FlowUtils.js.map +0 -1
  262. package/dist/types/utils/FlowUtils.d.ts +0 -12
  263. package/dist/types/utils/FlowUtils.d.ts.map +0 -1
  264. package/src/utils/FlowUtils.ts +0 -44
@@ -0,0 +1,10 @@
1
+ import { AddressListAdapter } from "../types";
2
+ import { Logger } from "./util";
3
+ export declare class AddressList implements AddressListAdapter {
4
+ readonly url: string;
5
+ readonly timeout = 2000;
6
+ readonly retries = 1;
7
+ readonly name = "bybit";
8
+ constructor(url?: string);
9
+ update(logger?: Logger): Promise<string[]>;
10
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddressList = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var superstruct_1 = require("superstruct");
6
+ var util_1 = require("./util");
7
+ var DEFAULT_URL = "https://hackscan.hackbounty.io/public/hack-address.json";
8
+ var bybitResponse = (0, superstruct_1.type)({
9
+ "0221": (0, superstruct_1.type)({
10
+ eth: (0, superstruct_1.defaulted)((0, superstruct_1.array)((0, superstruct_1.string)()), []),
11
+ bsc: (0, superstruct_1.defaulted)((0, superstruct_1.array)((0, superstruct_1.string)()), []),
12
+ arbi: (0, superstruct_1.defaulted)((0, superstruct_1.array)((0, superstruct_1.string)()), []),
13
+ }),
14
+ });
15
+ var AddressList = (function () {
16
+ function AddressList(url) {
17
+ if (url === void 0) { url = DEFAULT_URL; }
18
+ this.url = url;
19
+ this.timeout = 2000;
20
+ this.retries = 1;
21
+ this.name = "bybit";
22
+ }
23
+ AddressList.prototype.update = function (logger) {
24
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
25
+ var response;
26
+ return tslib_1.__generator(this, function (_a) {
27
+ switch (_a.label) {
28
+ case 0: return [4, (0, util_1.fetch)(this.name, this.url, this.timeout, this.retries)];
29
+ case 1:
30
+ response = _a.sent();
31
+ if (!bybitResponse.is(response)) {
32
+ return [2, (0, util_1.logError)(this.name, "Failed to validate response", logger)];
33
+ }
34
+ return [2, tslib_1.__spreadArray(tslib_1.__spreadArray(tslib_1.__spreadArray([], response["0221"].eth, true), response["0221"].bsc, true), response["0221"].arbi, true)];
35
+ }
36
+ });
37
+ });
38
+ };
39
+ return AddressList;
40
+ }());
41
+ exports.AddressList = AddressList;
42
+ //# sourceMappingURL=bybit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bybit.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/bybit.ts"],"names":[],"mappings":";;;;AAAA,2CAA6D;AAE7D,+BAAiD;AAEjD,IAAM,WAAW,GAAG,yDAAyD,CAAC;AAG9E,IAAM,aAAa,GAAG,IAAA,kBAAI,EAAC;IACzB,MAAM,EAAE,IAAA,kBAAI,EAAC;QACX,GAAG,EAAE,IAAA,uBAAS,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,EAAE,EAAE,CAAC;QACnC,GAAG,EAAE,IAAA,uBAAS,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,EAAE,EAAE,CAAC;KACrC,CAAC;CACH,CAAC,CAAC;AAEH;IAKE,qBAAqB,GAAiB;QAAjB,oBAAA,EAAA,iBAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;QAJ7B,YAAO,GAAG,IAAI,CAAC;QACf,YAAO,GAAG,CAAC,CAAC;QACZ,SAAI,GAAG,OAAO,CAAC;IAEiB,CAAC;IAEpC,4BAAM,GAAZ,UAAa,MAAe;;;;;4BACT,WAAM,IAAA,YAAK,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAAvE,QAAQ,GAAG,SAA4D;wBAC7E,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;4BAE/B,WAAO,IAAA,eAAQ,EAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,EAAE,MAAM,CAAC,EAAC;yBACnE;wBAED,iFAAW,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,SAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,SAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,SAAE;;;;KACrF;IACH,kBAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBY,kCAAW"}
@@ -0,0 +1,8 @@
1
+ import { AddressListAdapter } from "../types";
2
+ import { Logger } from "./util";
3
+ export declare class AddressList implements AddressListAdapter {
4
+ readonly envVar: string;
5
+ readonly name = "process.env";
6
+ constructor(envVar?: string);
7
+ update(logger?: Logger): Promise<string[]>;
8
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddressList = void 0;
4
+ var superstruct_1 = require("superstruct");
5
+ var util_1 = require("./util");
6
+ var envConfig = (0, superstruct_1.defaulted)((0, superstruct_1.array)((0, superstruct_1.string)()), []);
7
+ var AddressList = (function () {
8
+ function AddressList(envVar) {
9
+ if (envVar === void 0) { envVar = "ACROSS_IGNORED_ADDRESSES"; }
10
+ this.envVar = envVar;
11
+ this.name = "process.env";
12
+ }
13
+ AddressList.prototype.update = function (logger) {
14
+ var config = process.env[this.envVar];
15
+ if (!config) {
16
+ return Promise.resolve([]);
17
+ }
18
+ var addresses;
19
+ try {
20
+ addresses = JSON.parse(config);
21
+ if (!envConfig.is(addresses)) {
22
+ return (0, util_1.logError)(this.name, "Address format validation failure.", logger);
23
+ }
24
+ }
25
+ catch (err) {
26
+ return (0, util_1.logError)(this.name, err, logger);
27
+ }
28
+ return Promise.resolve(addresses);
29
+ };
30
+ return AddressList;
31
+ }());
32
+ exports.AddressList = AddressList;
33
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/env.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AAEvD,+BAA0C;AAE1C,IAAM,SAAS,GAAG,IAAA,uBAAS,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAEjD;IAGE,qBAAqB,MAAmC;QAAnC,uBAAA,EAAA,mCAAmC;QAAnC,WAAM,GAAN,MAAM,CAA6B;QAF/C,SAAI,GAAG,aAAa,CAAC;IAE6B,CAAC;IAE5D,4BAAM,GAAN,UAAO,MAAe;QACpB,IAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC5B;QAED,IAAI,SAAkB,CAAC;QACvB,IAAI;YACF,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;gBAC5B,OAAO,IAAA,eAAQ,EAAC,IAAI,CAAC,IAAI,EAAE,oCAAoC,EAAE,MAAM,CAAC,CAAC;aAC1E;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,IAAA,eAAQ,EAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;SACzC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACH,kBAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,kCAAW"}
@@ -0,0 +1,8 @@
1
+ import { AddressListAdapter } from "../types";
2
+ import { Logger } from "./util";
3
+ export declare class AddressList implements AddressListAdapter {
4
+ readonly path: string;
5
+ readonly name: string;
6
+ constructor(path?: string);
7
+ update(logger?: Logger): Promise<string[]>;
8
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddressList = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var promises_1 = require("node:fs/promises");
6
+ var superstruct_1 = require("superstruct");
7
+ var util_1 = require("./util");
8
+ var fileConfig = (0, superstruct_1.defaulted)((0, superstruct_1.array)((0, superstruct_1.string)()), []);
9
+ var AddressList = (function () {
10
+ function AddressList(path) {
11
+ if (path === void 0) { path = "./addresses.json"; }
12
+ this.path = path;
13
+ this.name = "fs:".concat(path);
14
+ }
15
+ AddressList.prototype.update = function (logger) {
16
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
17
+ var data, err_1, addresses;
18
+ return tslib_1.__generator(this, function (_a) {
19
+ switch (_a.label) {
20
+ case 0:
21
+ _a.trys.push([0, 2, , 3]);
22
+ return [4, (0, promises_1.readFile)(this.path, { encoding: "utf8" })];
23
+ case 1:
24
+ data = _a.sent();
25
+ return [3, 3];
26
+ case 2:
27
+ err_1 = _a.sent();
28
+ return [2, (0, util_1.logError)(this.name, err_1, logger)];
29
+ case 3:
30
+ if (!data) {
31
+ return [2, (0, util_1.logError)(this.name, "No addresses found in \"".concat(this.path, "\""), logger)];
32
+ }
33
+ try {
34
+ addresses = JSON.parse(data);
35
+ if (!fileConfig.is(addresses)) {
36
+ return [2, (0, util_1.logError)(this.name, "Address format validation failure.", logger)];
37
+ }
38
+ }
39
+ catch (err) {
40
+ return [2, (0, util_1.logError)(this.name, err, logger)];
41
+ }
42
+ return [2, Promise.resolve(addresses)];
43
+ }
44
+ });
45
+ });
46
+ };
47
+ return AddressList;
48
+ }());
49
+ exports.AddressList = AddressList;
50
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/file.ts"],"names":[],"mappings":";;;;AAAA,6CAA4C;AAC5C,2CAAuD;AAEvD,+BAA0C;AAE1C,IAAM,UAAU,GAAG,IAAA,uBAAS,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAElD;IAGE,qBAAqB,IAAyB;QAAzB,qBAAA,EAAA,yBAAyB;QAAzB,SAAI,GAAJ,IAAI,CAAqB;QAC5C,IAAI,CAAC,IAAI,GAAG,aAAM,IAAI,CAAE,CAAC;IAC3B,CAAC;IAEK,4BAAM,GAAZ,UAAa,MAAe;;;;;;;wBAGjB,WAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAA;;wBAAtD,IAAI,GAAG,SAA+C,CAAC;;;;wBAEvD,WAAO,IAAA,eAAQ,EAAC,IAAI,CAAC,IAAI,EAAE,KAAG,EAAE,MAAM,CAAC,EAAC;;wBAG1C,IAAI,CAAC,IAAI,EAAE;4BACT,WAAO,IAAA,eAAQ,EAAC,IAAI,CAAC,IAAI,EAAE,kCAA0B,IAAI,CAAC,IAAI,OAAG,EAAE,MAAM,CAAC,EAAC;yBAC5E;wBAGD,IAAI;4BACF,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC7B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;gCAC7B,WAAO,IAAA,eAAQ,EAAC,IAAI,CAAC,IAAI,EAAE,oCAAoC,EAAE,MAAM,CAAC,EAAC;6BAC1E;yBACF;wBAAC,OAAO,GAAG,EAAE;4BACZ,WAAO,IAAA,eAAQ,EAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAC;yBACzC;wBAED,WAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAC;;;;KACnC;IACH,kBAAC;AAAD,CAAC,AA/BD,IA+BC;AA/BY,kCAAW"}
@@ -0,0 +1,3 @@
1
+ export * as bybit from "./bybit";
2
+ export * as processEnv from "./env";
3
+ export * as fs from "./file";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fs = exports.processEnv = exports.bybit = void 0;
4
+ var tslib_1 = require("tslib");
5
+ exports.bybit = tslib_1.__importStar(require("./bybit"));
6
+ exports.processEnv = tslib_1.__importStar(require("./env"));
7
+ exports.fs = tslib_1.__importStar(require("./file"));
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/index.ts"],"names":[],"mappings":";;;;AAAA,yDAAiC;AACjC,4DAAoC;AACpC,qDAA6B"}
@@ -0,0 +1,4 @@
1
+ import { Logger } from "../../utils";
2
+ export { Logger } from "../../utils";
3
+ export declare function logError(name: string, error: unknown, logger?: Logger): Promise<string[]>;
4
+ export declare function fetch(name: string, url: string, timeout?: number, retries?: number): Promise<unknown>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetch = exports.logError = exports.Logger = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var axios_1 = tslib_1.__importDefault(require("axios"));
6
+ var utils_1 = require("../../utils");
7
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return utils_1.Logger; } });
8
+ var _a = process.env.ACROSS_USER_AGENT, ACROSS_USER_AGENT = _a === void 0 ? "across-protocol" : _a;
9
+ function sleep(ms) {
10
+ return new Promise(function (r) { return setTimeout(r, ms); });
11
+ }
12
+ function logError(name, error, logger) {
13
+ var reason;
14
+ if (error instanceof Error) {
15
+ reason = error.message;
16
+ }
17
+ else {
18
+ reason = typeof error === "string" ? error : "unknown error";
19
+ }
20
+ logger === null || logger === void 0 ? void 0 : logger.warn({
21
+ at: "".concat(name, "::update"),
22
+ message: "Failed to read addresses from ".concat(name, "."),
23
+ reason: reason,
24
+ });
25
+ return Promise.resolve([]);
26
+ }
27
+ exports.logError = logError;
28
+ function fetch(name, url, timeout, retries) {
29
+ if (timeout === void 0) { timeout = 2000; }
30
+ if (retries === void 0) { retries = 1; }
31
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
32
+ var args, errs, tries, err_1, errMsg;
33
+ return tslib_1.__generator(this, function (_a) {
34
+ switch (_a.label) {
35
+ case 0:
36
+ args = {
37
+ headers: { "User-Agent": ACROSS_USER_AGENT },
38
+ timeout: timeout,
39
+ };
40
+ errs = [];
41
+ tries = 0;
42
+ _a.label = 1;
43
+ case 1:
44
+ _a.trys.push([1, 3, , 6]);
45
+ return [4, (0, axios_1.default)(url, args)];
46
+ case 2: return [2, (_a.sent()).data];
47
+ case 3:
48
+ err_1 = _a.sent();
49
+ errMsg = axios_1.default.isAxiosError(err_1) || err_1 instanceof Error ? err_1.message : "unknown error";
50
+ errs.push(errMsg);
51
+ if (!(++tries <= retries)) return [3, 5];
52
+ return [4, sleep(Math.pow(1.5, tries) * 1000)];
53
+ case 4:
54
+ _a.sent();
55
+ _a.label = 5;
56
+ case 5: return [3, 6];
57
+ case 6:
58
+ if (tries <= retries) return [3, 1];
59
+ _a.label = 7;
60
+ case 7: throw new Error("".concat(name, " retrieval failure (").concat(errs.join(", "), ")"));
61
+ }
62
+ });
63
+ });
64
+ }
65
+ exports.fetch = fetch;
66
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/addressAggregator/adapters/util.ts"],"names":[],"mappings":";;;;AAAA,wDAA0B;AAG1B,qCAAqC;AAA5B,+FAAA,MAAM,OAAA;AAEP,IAAA,KAA0C,OAAO,CAAC,GAAG,kBAAhB,EAArC,iBAAiB,mBAAG,iBAAiB,KAAA,CAAiB;AAE9D,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EAAjB,CAAiB,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,QAAQ,CAAC,IAAY,EAAE,KAAc,EAAE,MAAe;IACpE,IAAI,MAAc,CAAC;IACnB,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;KACxB;SAAM;QACL,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;KAC9D;IAED,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC;QACX,EAAE,EAAE,UAAG,IAAI,aAAU;QACrB,OAAO,EAAE,wCAAiC,IAAI,MAAG;QACjD,MAAM,QAAA;KACP,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAdD,4BAcC;AAED,SAAsB,KAAK,CAAC,IAAY,EAAE,GAAW,EAAE,OAAc,EAAE,OAAW;IAA3B,wBAAA,EAAA,cAAc;IAAE,wBAAA,EAAA,WAAW;;;;;;oBAC1E,IAAI,GAAG;wBACX,OAAO,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE;wBAC5C,OAAO,SAAA;qBACR,CAAC;oBAEI,IAAI,GAAa,EAAE,CAAC;oBACtB,KAAK,GAAG,CAAC,CAAC;;;;oBAGF,WAAM,IAAA,eAAK,EAAC,GAAG,EAAE,IAAI,CAAC,EAAA;wBAA9B,WAAO,CAAC,SAAsB,CAAC,CAAC,IAAI,EAAC;;;oBAE/B,MAAM,GAAG,eAAK,CAAC,YAAY,CAAC,KAAG,CAAC,IAAI,KAAG,YAAY,KAAK,CAAC,CAAC,CAAC,KAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC/F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;yBACd,CAAA,EAAE,KAAK,IAAI,OAAO,CAAA,EAAlB,cAAkB;oBAAE,WAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,EAAA;;oBAAxC,SAAwC,CAAC;;;;wBAE5D,KAAK,IAAI,OAAO;;wBAEzB,MAAM,IAAI,KAAK,CAAC,UAAG,IAAI,iCAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC,CAAC;;;;CACnE;AAnBD,sBAmBC"}
@@ -0,0 +1,10 @@
1
+ import { Logger } from "../utils";
2
+ import { AddressListAdapter } from "./types";
3
+ export * as adapters from "./adapters";
4
+ export declare class AddressAggregator {
5
+ readonly adapters: AddressListAdapter[];
6
+ protected readonly logger?: Logger | undefined;
7
+ constructor(adapters: AddressListAdapter[], logger?: Logger | undefined);
8
+ static sources(): string[];
9
+ update(): Promise<Set<string>>;
10
+ }
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddressAggregator = exports.adapters = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var ethers_1 = require("ethers");
6
+ var utils_1 = require("../utils");
7
+ var types_1 = require("./types");
8
+ var adapters = tslib_1.__importStar(require("./adapters"));
9
+ exports.adapters = tslib_1.__importStar(require("./adapters"));
10
+ var AddressAggregator = (function () {
11
+ function AddressAggregator(adapters, logger) {
12
+ this.adapters = adapters;
13
+ this.logger = logger;
14
+ }
15
+ AddressAggregator.sources = function () {
16
+ return Object.keys(adapters);
17
+ };
18
+ AddressAggregator.prototype.update = function () {
19
+ var _a, _b;
20
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
21
+ var allAddresses, addresses;
22
+ var _this = this;
23
+ return tslib_1.__generator(this, function (_c) {
24
+ switch (_c.label) {
25
+ case 0:
26
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug({
27
+ at: "AddressAggregator::update",
28
+ message: "Updating addresses.",
29
+ sources: this.adapters.map(function (adapter) { return adapter.name; }),
30
+ supportedSources: AddressAggregator.sources(),
31
+ });
32
+ return [4, (0, utils_1.mapAsync)(this.adapters, function (adapter) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
33
+ var invalidAddresses, addresses;
34
+ var _a, _b;
35
+ return tslib_1.__generator(this, function (_c) {
36
+ switch (_c.label) {
37
+ case 0:
38
+ invalidAddresses = [];
39
+ return [4, adapter.update(this.logger)];
40
+ case 1:
41
+ addresses = (_c.sent())
42
+ .map(function (address) {
43
+ try {
44
+ return ethers_1.utils.getAddress(address.toLowerCase());
45
+ }
46
+ catch (_a) {
47
+ invalidAddresses.push(address);
48
+ return types_1.INVALID_ADDRESS;
49
+ }
50
+ })
51
+ .filter(function (address) { return address !== types_1.INVALID_ADDRESS; });
52
+ if (invalidAddresses.length > 0) {
53
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn({
54
+ at: "AddressAggregator::update()",
55
+ message: "Read ".concat(invalidAddresses.length, " malformed addresses on ").concat(adapter.name, "."),
56
+ invalidAddresses: invalidAddresses,
57
+ });
58
+ }
59
+ (_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug({
60
+ at: "AddressAggregator::update",
61
+ message: "Loaded ".concat(addresses.length, " addresses from ").concat(adapter.name, "."),
62
+ });
63
+ return [2, addresses];
64
+ }
65
+ });
66
+ }); })];
67
+ case 1:
68
+ allAddresses = _c.sent();
69
+ addresses = new Set(allAddresses.flat());
70
+ (_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug({
71
+ at: "AddressAggregator::update",
72
+ message: "Loaded ".concat(addresses.size, " addresses."),
73
+ sources: this.adapters.map(function (adapter) { return adapter.name; }),
74
+ });
75
+ return [2, addresses];
76
+ }
77
+ });
78
+ });
79
+ };
80
+ return AddressAggregator;
81
+ }());
82
+ exports.AddressAggregator = AddressAggregator;
83
+ function run() {
84
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
85
+ var addressList, addresses;
86
+ return tslib_1.__generator(this, function (_a) {
87
+ switch (_a.label) {
88
+ case 0:
89
+ addressList = new AddressAggregator([new adapters.bybit.AddressList(), new adapters.processEnv.AddressList()]);
90
+ return [4, addressList.update()];
91
+ case 1:
92
+ addresses = _a.sent();
93
+ console.log("Retrieved ".concat(addresses.size, " addresses: ").concat(JSON.stringify(Array.from(addresses), null, 2)));
94
+ return [2, 0];
95
+ }
96
+ });
97
+ });
98
+ }
99
+ if (require.main === module) {
100
+ run()
101
+ .then(function (result) {
102
+ process.exitCode = result;
103
+ })
104
+ .catch(function (error) {
105
+ console.error("Process exited with", error);
106
+ process.exitCode = 127;
107
+ });
108
+ }
109
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/addressAggregator/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Logger } from "../utils";
2
+ export interface AddressListAdapter {
3
+ readonly name: string;
4
+ update(logger?: Logger): Promise<string[]>;
5
+ }
6
+ export declare const INVALID_ADDRESS = "";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INVALID_ADDRESS = void 0;
4
+ exports.INVALID_ADDRESS = "";
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/addressAggregator/types.ts"],"names":[],"mappings":";;;AAOa,QAAA,eAAe,GAAG,EAAE,CAAC"}
@@ -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;