@across-protocol/sdk 4.3.111-alpha.0 → 4.3.111-alpha.1

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 (566) hide show
  1. package/dist/cjs/addressAggregator/adapters/abstract.js +50 -64
  2. package/dist/cjs/addressAggregator/adapters/abstract.js.map +1 -1
  3. package/dist/cjs/addressAggregator/adapters/bybit.js +16 -29
  4. package/dist/cjs/addressAggregator/adapters/bybit.js.map +1 -1
  5. package/dist/cjs/addressAggregator/adapters/env.js +11 -15
  6. package/dist/cjs/addressAggregator/adapters/env.js.map +1 -1
  7. package/dist/cjs/addressAggregator/adapters/file.js +32 -45
  8. package/dist/cjs/addressAggregator/adapters/file.js.map +1 -1
  9. package/dist/cjs/addressAggregator/adapters/index.js +1 -1
  10. package/dist/cjs/addressAggregator/adapters/risklabs.js +22 -36
  11. package/dist/cjs/addressAggregator/adapters/risklabs.js.map +1 -1
  12. package/dist/cjs/addressAggregator/index.js +57 -87
  13. package/dist/cjs/addressAggregator/index.js.map +1 -1
  14. package/dist/cjs/apiClient/abstractClient.js +9 -8
  15. package/dist/cjs/apiClient/abstractClient.js.map +1 -1
  16. package/dist/cjs/apiClient/index.js +1 -1
  17. package/dist/cjs/apiClient/mockedClient.js +23 -29
  18. package/dist/cjs/apiClient/mockedClient.js.map +1 -1
  19. package/dist/cjs/apiClient/productionClient.js +65 -103
  20. package/dist/cjs/apiClient/productionClient.js.map +1 -1
  21. package/dist/cjs/arch/evm/BlockUtils.js +122 -208
  22. package/dist/cjs/arch/evm/BlockUtils.js.map +1 -1
  23. package/dist/cjs/arch/evm/MessageUtils.js +1 -1
  24. package/dist/cjs/arch/evm/MessageUtils.js.map +1 -1
  25. package/dist/cjs/arch/evm/SpokeUtils.js +134 -288
  26. package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
  27. package/dist/cjs/arch/evm/index.js +1 -1
  28. package/dist/cjs/arch/evm/utils/index.js +1 -1
  29. package/dist/cjs/arch/evm/utils/wait.js +38 -49
  30. package/dist/cjs/arch/evm/utils/wait.js.map +1 -1
  31. package/dist/cjs/arch/index.js +1 -1
  32. package/dist/cjs/arch/svm/BlockUtils.js +102 -158
  33. package/dist/cjs/arch/svm/BlockUtils.js.map +1 -1
  34. package/dist/cjs/arch/svm/MessageUtils.js +2 -2
  35. package/dist/cjs/arch/svm/MessageUtils.js.map +1 -1
  36. package/dist/cjs/arch/svm/SpokeUtils.js +708 -1147
  37. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  38. package/dist/cjs/arch/svm/encoders.js +1 -1
  39. package/dist/cjs/arch/svm/encoders.js.map +1 -1
  40. package/dist/cjs/arch/svm/eventsClient.js +174 -236
  41. package/dist/cjs/arch/svm/eventsClient.js.map +1 -1
  42. package/dist/cjs/arch/svm/index.js +1 -1
  43. package/dist/cjs/arch/svm/provider.js +3 -3
  44. package/dist/cjs/arch/svm/provider.js.map +1 -1
  45. package/dist/cjs/arch/svm/utils.js +166 -355
  46. package/dist/cjs/arch/svm/utils.js.map +1 -1
  47. package/dist/cjs/caching/Arweave/ArweaveClient.js +168 -246
  48. package/dist/cjs/caching/Arweave/ArweaveClient.js.map +1 -1
  49. package/dist/cjs/caching/Arweave/index.js +1 -1
  50. package/dist/cjs/caching/IPFS/PinataIPFSClient.js +40 -49
  51. package/dist/cjs/caching/IPFS/PinataIPFSClient.js.map +1 -1
  52. package/dist/cjs/caching/IPFS/index.js +1 -1
  53. package/dist/cjs/caching/Memory/MemoryCacheClient.js +13 -18
  54. package/dist/cjs/caching/Memory/MemoryCacheClient.js.map +1 -1
  55. package/dist/cjs/caching/Memory/index.js +1 -1
  56. package/dist/cjs/caching/index.js +1 -1
  57. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +302 -381
  58. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  59. package/dist/cjs/clients/AcrossConfigStoreClient/index.js +1 -1
  60. package/dist/cjs/clients/BaseAbstractClient.js +58 -83
  61. package/dist/cjs/clients/BaseAbstractClient.js.map +1 -1
  62. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +709 -900
  63. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  64. package/dist/cjs/clients/BundleDataClient/index.js +1 -1
  65. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +95 -128
  66. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  67. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +48 -53
  68. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  69. package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js +10 -8
  70. package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
  71. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +67 -90
  72. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  73. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js +46 -24
  74. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
  75. package/dist/cjs/clients/BundleDataClient/utils/index.js +1 -1
  76. package/dist/cjs/clients/HubPoolClient.js +526 -708
  77. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  78. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +133 -179
  79. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  80. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +124 -183
  81. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  82. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +357 -389
  83. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  84. package/dist/cjs/clients/SpokePoolClient/SpokePoolClientManager.js +9 -8
  85. package/dist/cjs/clients/SpokePoolClient/SpokePoolClientManager.js.map +1 -1
  86. package/dist/cjs/clients/SpokePoolClient/index.js +3 -3
  87. package/dist/cjs/clients/SpokePoolClient/index.js.map +1 -1
  88. package/dist/cjs/clients/index.js +1 -1
  89. package/dist/cjs/clients/mocks/MockConfigStoreClient.js +58 -67
  90. package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -1
  91. package/dist/cjs/clients/mocks/MockEvents.js +47 -52
  92. package/dist/cjs/clients/mocks/MockEvents.js.map +1 -1
  93. package/dist/cjs/clients/mocks/MockHubPoolClient.js +142 -185
  94. package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
  95. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +208 -192
  96. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  97. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +140 -143
  98. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
  99. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +57 -73
  100. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
  101. package/dist/cjs/clients/mocks/index.js +1 -1
  102. package/dist/cjs/coingecko/Coingecko.js +285 -437
  103. package/dist/cjs/coingecko/Coingecko.js.map +1 -1
  104. package/dist/cjs/coingecko/index.js +1 -1
  105. package/dist/cjs/constants.js +23 -30
  106. package/dist/cjs/constants.js.map +1 -1
  107. package/dist/cjs/contracts/acrossConfigStore.js +27 -48
  108. package/dist/cjs/contracts/acrossConfigStore.js.map +1 -1
  109. package/dist/cjs/contracts/hubPool.js +36 -20
  110. package/dist/cjs/contracts/hubPool.js.map +1 -1
  111. package/dist/cjs/contracts/index.js +1 -1
  112. package/dist/cjs/contracts/utils.js +6 -8
  113. package/dist/cjs/contracts/utils.js.map +1 -1
  114. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js +7 -16
  115. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  116. package/dist/cjs/gasPriceOracle/adapters/ethereum.js +26 -45
  117. package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -1
  118. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js +16 -28
  119. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  120. package/dist/cjs/gasPriceOracle/adapters/polygon.js +73 -112
  121. package/dist/cjs/gasPriceOracle/adapters/polygon.js.map +1 -1
  122. package/dist/cjs/gasPriceOracle/adapters/solana.js +20 -33
  123. package/dist/cjs/gasPriceOracle/adapters/solana.js.map +1 -1
  124. package/dist/cjs/gasPriceOracle/oracle.js +77 -104
  125. package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
  126. package/dist/cjs/gasPriceOracle/types.js +3 -3
  127. package/dist/cjs/gasPriceOracle/types.js.map +1 -1
  128. package/dist/cjs/gasPriceOracle/util.js +8 -8
  129. package/dist/cjs/gasPriceOracle/util.js.map +1 -1
  130. package/dist/cjs/index.js +1 -1
  131. package/dist/cjs/interfaces/index.js +1 -1
  132. package/dist/cjs/lpFeeCalculator/index.js +1 -1
  133. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js +33 -35
  134. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
  135. package/dist/cjs/lpFeeCalculator/rateModel.js +7 -9
  136. package/dist/cjs/lpFeeCalculator/rateModel.js.map +1 -1
  137. package/dist/cjs/merkleDistributor/MerkleDistributor.js +20 -18
  138. package/dist/cjs/merkleDistributor/MerkleDistributor.js.map +1 -1
  139. package/dist/cjs/merkleDistributor/index.js +1 -1
  140. package/dist/cjs/merkleDistributor/model/index.js +1 -1
  141. package/dist/cjs/pool/TransactionManager.js +45 -100
  142. package/dist/cjs/pool/TransactionManager.js.map +1 -1
  143. package/dist/cjs/pool/index.js +1 -1
  144. package/dist/cjs/pool/poolClient.js +464 -731
  145. package/dist/cjs/pool/poolClient.js.map +1 -1
  146. package/dist/cjs/pool/uma/across/index.js +1 -1
  147. package/dist/cjs/pool/uma/across/transactionManager.js +45 -100
  148. package/dist/cjs/pool/uma/across/transactionManager.js.map +1 -1
  149. package/dist/cjs/pool/uma/clients/erc20/client.js +18 -16
  150. package/dist/cjs/pool/uma/clients/erc20/client.js.map +1 -1
  151. package/dist/cjs/pool/uma/clients/erc20/index.js +1 -1
  152. package/dist/cjs/pool/uma/clients/index.js +1 -1
  153. package/dist/cjs/pool/uma/index.js +1 -1
  154. package/dist/cjs/pool/uma/oracle/index.js +1 -1
  155. package/dist/cjs/pool/uma/oracle/utils.js +4 -5
  156. package/dist/cjs/pool/uma/oracle/utils.js.map +1 -1
  157. package/dist/cjs/pool/uma/utils.js +11 -30
  158. package/dist/cjs/pool/uma/utils.js.map +1 -1
  159. package/dist/cjs/priceClient/adapters/acrossApi.js +22 -39
  160. package/dist/cjs/priceClient/adapters/acrossApi.js.map +1 -1
  161. package/dist/cjs/priceClient/adapters/baseAdapter.js +49 -73
  162. package/dist/cjs/priceClient/adapters/baseAdapter.js.map +1 -1
  163. package/dist/cjs/priceClient/adapters/coingecko.js +34 -61
  164. package/dist/cjs/priceClient/adapters/coingecko.js.map +1 -1
  165. package/dist/cjs/priceClient/adapters/default.js +16 -31
  166. package/dist/cjs/priceClient/adapters/default.js.map +1 -1
  167. package/dist/cjs/priceClient/adapters/defiLlama.js +40 -74
  168. package/dist/cjs/priceClient/adapters/defiLlama.js.map +1 -1
  169. package/dist/cjs/priceClient/adapters/index.js +1 -1
  170. package/dist/cjs/priceClient/index.js +1 -1
  171. package/dist/cjs/priceClient/priceClient.js +110 -159
  172. package/dist/cjs/priceClient/priceClient.js.map +1 -1
  173. package/dist/cjs/providers/alchemy.js +17 -19
  174. package/dist/cjs/providers/alchemy.js.map +1 -1
  175. package/dist/cjs/providers/cachedProvider.js +88 -129
  176. package/dist/cjs/providers/cachedProvider.js.map +1 -1
  177. package/dist/cjs/providers/drpc.js +9 -11
  178. package/dist/cjs/providers/drpc.js.map +1 -1
  179. package/dist/cjs/providers/index.js +1 -1
  180. package/dist/cjs/providers/infura.js +10 -12
  181. package/dist/cjs/providers/infura.js.map +1 -1
  182. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +7 -15
  183. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
  184. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js +6 -14
  185. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
  186. package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js +7 -15
  187. package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
  188. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js +42 -66
  189. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js.map +1 -1
  190. package/dist/cjs/providers/mocks/index.js +1 -1
  191. package/dist/cjs/providers/mocks/mockEthersProvider.js +29 -31
  192. package/dist/cjs/providers/mocks/mockEthersProvider.js.map +1 -1
  193. package/dist/cjs/providers/quicknode.js +19 -21
  194. package/dist/cjs/providers/quicknode.js.map +1 -1
  195. package/dist/cjs/providers/rateLimitedProvider.js +64 -79
  196. package/dist/cjs/providers/rateLimitedProvider.js.map +1 -1
  197. package/dist/cjs/providers/retryProvider.js +163 -246
  198. package/dist/cjs/providers/retryProvider.js.map +1 -1
  199. package/dist/cjs/providers/solana/baseRpcFactories.js +14 -18
  200. package/dist/cjs/providers/solana/baseRpcFactories.js.map +1 -1
  201. package/dist/cjs/providers/solana/cachedRpcFactory.js +70 -112
  202. package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -1
  203. package/dist/cjs/providers/solana/defaultRpcFactory.js +8 -15
  204. package/dist/cjs/providers/solana/defaultRpcFactory.js.map +1 -1
  205. package/dist/cjs/providers/solana/index.js +1 -1
  206. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js +135 -191
  207. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
  208. package/dist/cjs/providers/solana/rateLimitedRpcFactory.js +67 -90
  209. package/dist/cjs/providers/solana/rateLimitedRpcFactory.js.map +1 -1
  210. package/dist/cjs/providers/solana/retryRpcFactory.js +52 -79
  211. package/dist/cjs/providers/solana/retryRpcFactory.js.map +1 -1
  212. package/dist/cjs/providers/solana/utils.js +2 -2
  213. package/dist/cjs/providers/solana/utils.js.map +1 -1
  214. package/dist/cjs/providers/speedProvider.js +31 -53
  215. package/dist/cjs/providers/speedProvider.js.map +1 -1
  216. package/dist/cjs/providers/types.js +1 -1
  217. package/dist/cjs/providers/types.js.map +1 -1
  218. package/dist/cjs/providers/utils.js +26 -28
  219. package/dist/cjs/providers/utils.js.map +1 -1
  220. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +108 -162
  221. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  222. package/dist/cjs/relayFeeCalculator/chain-queries/customGasToken.js +14 -26
  223. package/dist/cjs/relayFeeCalculator/chain-queries/customGasToken.js.map +1 -1
  224. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +20 -29
  225. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  226. package/dist/cjs/relayFeeCalculator/chain-queries/index.js +1 -1
  227. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +88 -137
  228. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  229. package/dist/cjs/relayFeeCalculator/index.js +1 -1
  230. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +199 -297
  231. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  232. package/dist/cjs/typeguards/error.js +5 -7
  233. package/dist/cjs/typeguards/error.js.map +1 -1
  234. package/dist/cjs/typeguards/index.js +1 -1
  235. package/dist/cjs/utils/AddressUtils.js +117 -144
  236. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  237. package/dist/cjs/utils/ArrayUtils.js +21 -78
  238. package/dist/cjs/utils/ArrayUtils.js.map +1 -1
  239. package/dist/cjs/utils/BigNumberUtils.js +9 -10
  240. package/dist/cjs/utils/BigNumberUtils.js.map +1 -1
  241. package/dist/cjs/utils/BlockExplorerUtils.js +26 -30
  242. package/dist/cjs/utils/BlockExplorerUtils.js.map +1 -1
  243. package/dist/cjs/utils/BlockFinder.js +2 -5
  244. package/dist/cjs/utils/BlockFinder.js.map +1 -1
  245. package/dist/cjs/utils/BlockUtils.js +24 -41
  246. package/dist/cjs/utils/BlockUtils.js.map +1 -1
  247. package/dist/cjs/utils/BundleUtils.js +21 -24
  248. package/dist/cjs/utils/BundleUtils.js.map +1 -1
  249. package/dist/cjs/utils/CCTPUtils.js +62 -126
  250. package/dist/cjs/utils/CCTPUtils.js.map +1 -1
  251. package/dist/cjs/utils/CachingUtils.js +20 -42
  252. package/dist/cjs/utils/CachingUtils.js.map +1 -1
  253. package/dist/cjs/utils/ContractUtils.js +5 -5
  254. package/dist/cjs/utils/ContractUtils.js.map +1 -1
  255. package/dist/cjs/utils/DepositUtils.js +122 -99
  256. package/dist/cjs/utils/DepositUtils.js.map +1 -1
  257. package/dist/cjs/utils/EventUtils.js +49 -70
  258. package/dist/cjs/utils/EventUtils.js.map +1 -1
  259. package/dist/cjs/utils/FormattingUtils.js +26 -32
  260. package/dist/cjs/utils/FormattingUtils.js.map +1 -1
  261. package/dist/cjs/utils/HyperLiquidUtils.js +10 -23
  262. package/dist/cjs/utils/HyperLiquidUtils.js.map +1 -1
  263. package/dist/cjs/utils/IPFSUtils.js +16 -34
  264. package/dist/cjs/utils/IPFSUtils.js.map +1 -1
  265. package/dist/cjs/utils/JSONUtils.js +6 -6
  266. package/dist/cjs/utils/JSONUtils.js.map +1 -1
  267. package/dist/cjs/utils/LogUtils.js +10 -12
  268. package/dist/cjs/utils/LogUtils.js.map +1 -1
  269. package/dist/cjs/utils/Multicall.js +56 -115
  270. package/dist/cjs/utils/Multicall.js.map +1 -1
  271. package/dist/cjs/utils/NetworkUtils.js +12 -28
  272. package/dist/cjs/utils/NetworkUtils.js.map +1 -1
  273. package/dist/cjs/utils/NumberUtils.js +1 -3
  274. package/dist/cjs/utils/NumberUtils.js.map +1 -1
  275. package/dist/cjs/utils/ObjectUtils.js +27 -41
  276. package/dist/cjs/utils/ObjectUtils.js.map +1 -1
  277. package/dist/cjs/utils/Profiler.js +80 -83
  278. package/dist/cjs/utils/Profiler.js.map +1 -1
  279. package/dist/cjs/utils/ReviverUtils.js +5 -9
  280. package/dist/cjs/utils/ReviverUtils.js.map +1 -1
  281. package/dist/cjs/utils/SpokeUtils.js +84 -84
  282. package/dist/cjs/utils/SpokeUtils.js.map +1 -1
  283. package/dist/cjs/utils/TokenUtils.js +41 -64
  284. package/dist/cjs/utils/TokenUtils.js.map +1 -1
  285. package/dist/cjs/utils/TypeGuards.js +1 -1
  286. package/dist/cjs/utils/TypeGuards.js.map +1 -1
  287. package/dist/cjs/utils/ValidatorUtils.js +7 -7
  288. package/dist/cjs/utils/ValidatorUtils.js.map +1 -1
  289. package/dist/cjs/utils/abi/contracts/index.js +1 -1
  290. package/dist/cjs/utils/abi/index.js +12 -22
  291. package/dist/cjs/utils/abi/index.js.map +1 -1
  292. package/dist/cjs/utils/abi/typechain/factories/Multicall3__factory.js +9 -12
  293. package/dist/cjs/utils/abi/typechain/factories/Multicall3__factory.js.map +1 -1
  294. package/dist/cjs/utils/abi/typechain/index.js +1 -1
  295. package/dist/cjs/utils/common.js +40 -53
  296. package/dist/cjs/utils/common.js.map +1 -1
  297. package/dist/cjs/utils/index.js +1 -1
  298. package/dist/esm/addressAggregator/adapters/abstract.js +48 -64
  299. package/dist/esm/addressAggregator/adapters/abstract.js.map +1 -1
  300. package/dist/esm/addressAggregator/adapters/bybit.js +15 -29
  301. package/dist/esm/addressAggregator/adapters/bybit.js.map +1 -1
  302. package/dist/esm/addressAggregator/adapters/env.js +9 -14
  303. package/dist/esm/addressAggregator/adapters/env.js.map +1 -1
  304. package/dist/esm/addressAggregator/adapters/file.js +29 -43
  305. package/dist/esm/addressAggregator/adapters/file.js.map +1 -1
  306. package/dist/esm/addressAggregator/adapters/risklabs.js +20 -35
  307. package/dist/esm/addressAggregator/adapters/risklabs.js.map +1 -1
  308. package/dist/esm/addressAggregator/index.js +52 -83
  309. package/dist/esm/addressAggregator/index.js.map +1 -1
  310. package/dist/esm/addressAggregator/types.js +1 -1
  311. package/dist/esm/addressAggregator/types.js.map +1 -1
  312. package/dist/esm/apiClient/abstractClient.js +15 -9
  313. package/dist/esm/apiClient/abstractClient.js.map +1 -1
  314. package/dist/esm/apiClient/mockedClient.js +21 -26
  315. package/dist/esm/apiClient/mockedClient.js.map +1 -1
  316. package/dist/esm/apiClient/productionClient.js +61 -101
  317. package/dist/esm/apiClient/productionClient.js.map +1 -1
  318. package/dist/esm/arch/evm/BlockUtils.js +139 -217
  319. package/dist/esm/arch/evm/BlockUtils.js.map +1 -1
  320. package/dist/esm/arch/evm/SpokeUtils.js +146 -289
  321. package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
  322. package/dist/esm/arch/evm/utils/wait.js +34 -46
  323. package/dist/esm/arch/evm/utils/wait.js.map +1 -1
  324. package/dist/esm/arch/svm/BlockUtils.js +118 -166
  325. package/dist/esm/arch/svm/BlockUtils.js.map +1 -1
  326. package/dist/esm/arch/svm/SpokeUtils.js +738 -1150
  327. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  328. package/dist/esm/arch/svm/constants.js +1 -1
  329. package/dist/esm/arch/svm/constants.js.map +1 -1
  330. package/dist/esm/arch/svm/eventsClient.js +172 -232
  331. package/dist/esm/arch/svm/eventsClient.js.map +1 -1
  332. package/dist/esm/arch/svm/provider.js +1 -1
  333. package/dist/esm/arch/svm/provider.js.map +1 -1
  334. package/dist/esm/arch/svm/utils.js +155 -345
  335. package/dist/esm/arch/svm/utils.js.map +1 -1
  336. package/dist/esm/caching/Arweave/ArweaveClient.js +182 -256
  337. package/dist/esm/caching/Arweave/ArweaveClient.js.map +1 -1
  338. package/dist/esm/caching/IPFS/PinataIPFSClient.js +47 -48
  339. package/dist/esm/caching/IPFS/PinataIPFSClient.js.map +1 -1
  340. package/dist/esm/caching/Memory/MemoryCacheClient.js +13 -19
  341. package/dist/esm/caching/Memory/MemoryCacheClient.js.map +1 -1
  342. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +333 -408
  343. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  344. package/dist/esm/clients/BaseAbstractClient.js +66 -92
  345. package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
  346. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +927 -1054
  347. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  348. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +102 -131
  349. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  350. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +57 -59
  351. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  352. package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js +7 -5
  353. package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
  354. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +75 -94
  355. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  356. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js +45 -23
  357. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
  358. package/dist/esm/clients/HubPoolClient.js +581 -740
  359. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  360. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +133 -178
  361. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  362. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +126 -183
  363. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  364. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +372 -399
  365. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  366. package/dist/esm/clients/SpokePoolClient/SpokePoolClientManager.js +9 -9
  367. package/dist/esm/clients/SpokePoolClient/SpokePoolClientManager.js.map +1 -1
  368. package/dist/esm/clients/SpokePoolClient/index.js +2 -2
  369. package/dist/esm/clients/SpokePoolClient/index.js.map +1 -1
  370. package/dist/esm/clients/SpokePoolClient/types.js +2 -2
  371. package/dist/esm/clients/SpokePoolClient/types.js.map +1 -1
  372. package/dist/esm/clients/mocks/MockConfigStoreClient.js +53 -64
  373. package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
  374. package/dist/esm/clients/mocks/MockEvents.js +42 -49
  375. package/dist/esm/clients/mocks/MockEvents.js.map +1 -1
  376. package/dist/esm/clients/mocks/MockHubPoolClient.js +138 -182
  377. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
  378. package/dist/esm/clients/mocks/MockSpokePoolClient.js +202 -188
  379. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  380. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +127 -132
  381. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
  382. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +53 -69
  383. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
  384. package/dist/esm/coingecko/Coingecko.js +298 -443
  385. package/dist/esm/coingecko/Coingecko.js.map +1 -1
  386. package/dist/esm/constants.js +40 -47
  387. package/dist/esm/constants.js.map +1 -1
  388. package/dist/esm/contracts/acrossConfigStore.js +24 -46
  389. package/dist/esm/contracts/acrossConfigStore.js.map +1 -1
  390. package/dist/esm/contracts/hubPool.js +34 -18
  391. package/dist/esm/contracts/hubPool.js.map +1 -1
  392. package/dist/esm/contracts/utils.js +3 -5
  393. package/dist/esm/contracts/utils.js.map +1 -1
  394. package/dist/esm/gasPriceOracle/adapters/arbitrum.js +6 -14
  395. package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  396. package/dist/esm/gasPriceOracle/adapters/ethereum.js +22 -42
  397. package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -1
  398. package/dist/esm/gasPriceOracle/adapters/linea-viem.js +13 -25
  399. package/dist/esm/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  400. package/dist/esm/gasPriceOracle/adapters/polygon.js +72 -108
  401. package/dist/esm/gasPriceOracle/adapters/polygon.js.map +1 -1
  402. package/dist/esm/gasPriceOracle/adapters/solana.js +22 -31
  403. package/dist/esm/gasPriceOracle/adapters/solana.js.map +1 -1
  404. package/dist/esm/gasPriceOracle/oracle.js +70 -96
  405. package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
  406. package/dist/esm/gasPriceOracle/types.js +2 -2
  407. package/dist/esm/gasPriceOracle/types.js.map +1 -1
  408. package/dist/esm/gasPriceOracle/util.js +4 -4
  409. package/dist/esm/gasPriceOracle/util.js.map +1 -1
  410. package/dist/esm/lpFeeCalculator/lpFeeCalculator.js +30 -33
  411. package/dist/esm/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
  412. package/dist/esm/lpFeeCalculator/rateModel.js +7 -9
  413. package/dist/esm/lpFeeCalculator/rateModel.js.map +1 -1
  414. package/dist/esm/merkleDistributor/MerkleDistributor.js +18 -17
  415. package/dist/esm/merkleDistributor/MerkleDistributor.js.map +1 -1
  416. package/dist/esm/pool/TransactionManager.js +45 -100
  417. package/dist/esm/pool/TransactionManager.js.map +1 -1
  418. package/dist/esm/pool/poolClient.js +479 -740
  419. package/dist/esm/pool/poolClient.js.map +1 -1
  420. package/dist/esm/pool/uma/across/constants.js +2 -2
  421. package/dist/esm/pool/uma/across/constants.js.map +1 -1
  422. package/dist/esm/pool/uma/across/transactionManager.js +45 -100
  423. package/dist/esm/pool/uma/across/transactionManager.js.map +1 -1
  424. package/dist/esm/pool/uma/clients/erc20/client.js +15 -13
  425. package/dist/esm/pool/uma/clients/erc20/client.js.map +1 -1
  426. package/dist/esm/pool/uma/oracle/utils.js +2 -3
  427. package/dist/esm/pool/uma/oracle/utils.js.map +1 -1
  428. package/dist/esm/pool/uma/utils.js +9 -28
  429. package/dist/esm/pool/uma/utils.js.map +1 -1
  430. package/dist/esm/priceClient/adapters/acrossApi.js +21 -40
  431. package/dist/esm/priceClient/adapters/acrossApi.js.map +1 -1
  432. package/dist/esm/priceClient/adapters/baseAdapter.js +46 -72
  433. package/dist/esm/priceClient/adapters/baseAdapter.js.map +1 -1
  434. package/dist/esm/priceClient/adapters/coingecko.js +33 -61
  435. package/dist/esm/priceClient/adapters/coingecko.js.map +1 -1
  436. package/dist/esm/priceClient/adapters/default.js +15 -31
  437. package/dist/esm/priceClient/adapters/default.js.map +1 -1
  438. package/dist/esm/priceClient/adapters/defiLlama.js +38 -73
  439. package/dist/esm/priceClient/adapters/defiLlama.js.map +1 -1
  440. package/dist/esm/priceClient/priceClient.js +109 -158
  441. package/dist/esm/priceClient/priceClient.js.map +1 -1
  442. package/dist/esm/providers/alchemy.js +16 -18
  443. package/dist/esm/providers/alchemy.js.map +1 -1
  444. package/dist/esm/providers/cachedProvider.js +99 -134
  445. package/dist/esm/providers/cachedProvider.js.map +1 -1
  446. package/dist/esm/providers/constants.js +3 -3
  447. package/dist/esm/providers/constants.js.map +1 -1
  448. package/dist/esm/providers/drpc.js +8 -10
  449. package/dist/esm/providers/drpc.js.map +1 -1
  450. package/dist/esm/providers/infura.js +9 -11
  451. package/dist/esm/providers/infura.js.map +1 -1
  452. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +6 -15
  453. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
  454. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js +5 -14
  455. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
  456. package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js +6 -15
  457. package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
  458. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js +41 -66
  459. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js.map +1 -1
  460. package/dist/esm/providers/mocks/mockEthersProvider.js +27 -30
  461. package/dist/esm/providers/mocks/mockEthersProvider.js.map +1 -1
  462. package/dist/esm/providers/quicknode.js +18 -20
  463. package/dist/esm/providers/quicknode.js.map +1 -1
  464. package/dist/esm/providers/rateLimitedProvider.js +68 -80
  465. package/dist/esm/providers/rateLimitedProvider.js.map +1 -1
  466. package/dist/esm/providers/retryProvider.js +186 -259
  467. package/dist/esm/providers/retryProvider.js.map +1 -1
  468. package/dist/esm/providers/solana/baseRpcFactories.js +13 -19
  469. package/dist/esm/providers/solana/baseRpcFactories.js.map +1 -1
  470. package/dist/esm/providers/solana/cachedRpcFactory.js +75 -112
  471. package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -1
  472. package/dist/esm/providers/solana/defaultRpcFactory.js +6 -14
  473. package/dist/esm/providers/solana/defaultRpcFactory.js.map +1 -1
  474. package/dist/esm/providers/solana/quorumFallbackRpcFactory.js +149 -202
  475. package/dist/esm/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
  476. package/dist/esm/providers/solana/rateLimitedRpcFactory.js +70 -90
  477. package/dist/esm/providers/solana/rateLimitedRpcFactory.js.map +1 -1
  478. package/dist/esm/providers/solana/retryRpcFactory.js +50 -74
  479. package/dist/esm/providers/solana/retryRpcFactory.js.map +1 -1
  480. package/dist/esm/providers/solana/utils.js +1 -1
  481. package/dist/esm/providers/solana/utils.js.map +1 -1
  482. package/dist/esm/providers/speedProvider.js +28 -51
  483. package/dist/esm/providers/speedProvider.js.map +1 -1
  484. package/dist/esm/providers/types.js +2 -2
  485. package/dist/esm/providers/types.js.map +1 -1
  486. package/dist/esm/providers/utils.js +17 -20
  487. package/dist/esm/providers/utils.js.map +1 -1
  488. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +98 -152
  489. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  490. package/dist/esm/relayFeeCalculator/chain-queries/customGasToken.js +13 -26
  491. package/dist/esm/relayFeeCalculator/chain-queries/customGasToken.js.map +1 -1
  492. package/dist/esm/relayFeeCalculator/chain-queries/factory.js +9 -19
  493. package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  494. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +83 -128
  495. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  496. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +211 -299
  497. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  498. package/dist/esm/typeguards/error.js +3 -5
  499. package/dist/esm/typeguards/error.js.map +1 -1
  500. package/dist/esm/utils/AddressUtils.js +115 -147
  501. package/dist/esm/utils/AddressUtils.js.map +1 -1
  502. package/dist/esm/utils/ArrayUtils.js +21 -78
  503. package/dist/esm/utils/ArrayUtils.js.map +1 -1
  504. package/dist/esm/utils/BigNumberUtils.js +11 -12
  505. package/dist/esm/utils/BigNumberUtils.js.map +1 -1
  506. package/dist/esm/utils/BlockExplorerUtils.js +19 -23
  507. package/dist/esm/utils/BlockExplorerUtils.js.map +1 -1
  508. package/dist/esm/utils/BlockFinder.js +2 -6
  509. package/dist/esm/utils/BlockFinder.js.map +1 -1
  510. package/dist/esm/utils/BlockUtils.js +31 -40
  511. package/dist/esm/utils/BlockUtils.js.map +1 -1
  512. package/dist/esm/utils/BundleUtils.js +21 -24
  513. package/dist/esm/utils/BundleUtils.js.map +1 -1
  514. package/dist/esm/utils/CCTPUtils.js +62 -123
  515. package/dist/esm/utils/CCTPUtils.js.map +1 -1
  516. package/dist/esm/utils/CachingUtils.js +17 -38
  517. package/dist/esm/utils/CachingUtils.js.map +1 -1
  518. package/dist/esm/utils/ContractUtils.js +3 -3
  519. package/dist/esm/utils/ContractUtils.js.map +1 -1
  520. package/dist/esm/utils/DepositUtils.js +121 -98
  521. package/dist/esm/utils/DepositUtils.js.map +1 -1
  522. package/dist/esm/utils/EventUtils.js +52 -69
  523. package/dist/esm/utils/EventUtils.js.map +1 -1
  524. package/dist/esm/utils/FormattingUtils.js +20 -26
  525. package/dist/esm/utils/FormattingUtils.js.map +1 -1
  526. package/dist/esm/utils/HyperLiquidUtils.js +8 -22
  527. package/dist/esm/utils/HyperLiquidUtils.js.map +1 -1
  528. package/dist/esm/utils/IPFSUtils.js +16 -35
  529. package/dist/esm/utils/IPFSUtils.js.map +1 -1
  530. package/dist/esm/utils/JSONUtils.js +4 -4
  531. package/dist/esm/utils/JSONUtils.js.map +1 -1
  532. package/dist/esm/utils/LogUtils.js +8 -12
  533. package/dist/esm/utils/LogUtils.js.map +1 -1
  534. package/dist/esm/utils/Multicall.js +50 -110
  535. package/dist/esm/utils/Multicall.js.map +1 -1
  536. package/dist/esm/utils/NetworkUtils.js +12 -28
  537. package/dist/esm/utils/NetworkUtils.js.map +1 -1
  538. package/dist/esm/utils/NumberUtils.js +1 -3
  539. package/dist/esm/utils/NumberUtils.js.map +1 -1
  540. package/dist/esm/utils/ObjectUtils.js +27 -41
  541. package/dist/esm/utils/ObjectUtils.js.map +1 -1
  542. package/dist/esm/utils/Profiler.js +77 -82
  543. package/dist/esm/utils/Profiler.js.map +1 -1
  544. package/dist/esm/utils/ReviverUtils.js +3 -7
  545. package/dist/esm/utils/ReviverUtils.js.map +1 -1
  546. package/dist/esm/utils/SpokeUtils.js +83 -78
  547. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  548. package/dist/esm/utils/TokenUtils.js +33 -57
  549. package/dist/esm/utils/TokenUtils.js.map +1 -1
  550. package/dist/esm/utils/ValidatorUtils.js +4 -4
  551. package/dist/esm/utils/ValidatorUtils.js.map +1 -1
  552. package/dist/esm/utils/abi/index.js +10 -20
  553. package/dist/esm/utils/abi/index.js.map +1 -1
  554. package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js +8 -12
  555. package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js.map +1 -1
  556. package/dist/esm/utils/common.js +38 -52
  557. package/dist/esm/utils/common.js.map +1 -1
  558. package/dist/types/constants.d.ts.map +1 -1
  559. package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -1
  560. package/dist/types/utils/Multicall.d.ts.map +1 -1
  561. package/dist/types/utils/NetworkUtils.d.ts.map +1 -1
  562. package/package.json +2 -2
  563. package/src/constants.ts +0 -1
  564. package/src/gasPriceOracle/oracle.ts +0 -1
  565. package/src/utils/Multicall.ts +0 -1
  566. package/src/utils/NetworkUtils.ts +1 -8
@@ -1,4 +1,3 @@
1
- import { __awaiter, __generator } from "tslib";
2
1
  /**
3
2
  * Deduplicates an array by filtering it via a Set.
4
3
  * @notice Should not be used for deduplicating arrays of complex types.
@@ -15,8 +14,8 @@ export function dedupArray(array) {
15
14
  * @returns A new array of chunked members.
16
15
  */
17
16
  export function chunk(array, chunkSize) {
18
- var chunks = [];
19
- for (var i = 0; i < array.length; i += chunkSize) {
17
+ const chunks = [];
18
+ for (let i = 0; i < array.length; i += chunkSize) {
20
19
  chunks.push(array.slice(i, i + chunkSize));
21
20
  }
22
21
  return chunks;
@@ -29,7 +28,7 @@ export function chunk(array, chunkSize) {
29
28
  * @returns The last index of the array that matches the predicate, or -1 if no element matches.
30
29
  */
31
30
  export function findLastIndex(array, predicate) {
32
- for (var i = array.length - 1; i >= 0; i--) {
31
+ for (let i = array.length - 1; i >= 0; i--) {
33
32
  if (predicate(array[i], i, array)) {
34
33
  return i;
35
34
  }
@@ -44,7 +43,7 @@ export function findLastIndex(array, predicate) {
44
43
  * @returns The last element of the array that matches the predicate, or undefined if no element matches.
45
44
  */
46
45
  export function findLast(array, predicate) {
47
- var index = findLastIndex(array, predicate);
46
+ const index = findLastIndex(array, predicate);
48
47
  return index >= 0 ? array[index] : undefined;
49
48
  }
50
49
  /**
@@ -54,18 +53,9 @@ export function findLast(array, predicate) {
54
53
  * @param predicate The asynchronous predicate function to apply to each element.
55
54
  * @returns A promise that resolves to an array of elements that match the predicate.
56
55
  */
57
- export function filterAsync(array, predicate) {
58
- return __awaiter(this, void 0, void 0, function () {
59
- var results;
60
- return __generator(this, function (_a) {
61
- switch (_a.label) {
62
- case 0: return [4 /*yield*/, Promise.all(array.map(predicate))];
63
- case 1:
64
- results = _a.sent();
65
- return [2 /*return*/, array.filter(function (_, index) { return results[index]; })];
66
- }
67
- });
68
- });
56
+ export async function filterAsync(array, predicate) {
57
+ const results = await Promise.all(array.map(predicate));
58
+ return array.filter((_, index) => results[index]);
69
59
  }
70
60
  /**
71
61
  * Performs an asynchronous map operation on an array. This function behaves like Array.prototype.map, but accepts an
@@ -85,28 +75,12 @@ export function mapAsync(array, mapper) {
85
75
  * @param initialValue The initial value of the accumulator.
86
76
  * @returns A promise that resolves to the final value of the accumulator.
87
77
  */
88
- export function reduceAsync(array, reducer, initialValue) {
89
- return __awaiter(this, void 0, void 0, function () {
90
- var accumulator, i;
91
- return __generator(this, function (_a) {
92
- switch (_a.label) {
93
- case 0:
94
- accumulator = initialValue;
95
- i = 0;
96
- _a.label = 1;
97
- case 1:
98
- if (!(i < array.length)) return [3 /*break*/, 4];
99
- return [4 /*yield*/, reducer(accumulator, array[i], i, array)];
100
- case 2:
101
- accumulator = _a.sent();
102
- _a.label = 3;
103
- case 3:
104
- i++;
105
- return [3 /*break*/, 1];
106
- case 4: return [2 /*return*/, accumulator];
107
- }
108
- });
109
- });
78
+ export async function reduceAsync(array, reducer, initialValue) {
79
+ let accumulator = initialValue;
80
+ for (let i = 0; i < array.length; i++) {
81
+ accumulator = await reducer(accumulator, array[i], i, array);
82
+ }
83
+ return accumulator;
110
84
  }
111
85
  /**
112
86
  * Performs an asynchronous forEach operation on an array. This function behaves like Array.prototype.forEach, but
@@ -115,17 +89,8 @@ export function reduceAsync(array, reducer, initialValue) {
115
89
  * @param callback The asynchronous callback function to apply to each element.
116
90
  * @returns A promise that resolves to void.
117
91
  */
118
- export function forEachAsync(array, callback) {
119
- return __awaiter(this, void 0, void 0, function () {
120
- return __generator(this, function (_a) {
121
- switch (_a.label) {
122
- case 0: return [4 /*yield*/, mapAsync(array, callback)];
123
- case 1:
124
- _a.sent();
125
- return [2 /*return*/];
126
- }
127
- });
128
- });
92
+ export async function forEachAsync(array, callback) {
93
+ await mapAsync(array, callback);
129
94
  }
130
95
  /**
131
96
  * Performs an asynchronous some operation on an array. This function behaves like Array.prototype.some, but accepts
@@ -134,18 +99,9 @@ export function forEachAsync(array, callback) {
134
99
  * @param predicate The asynchronous predicate function to apply to each element.
135
100
  * @returns A promise that resolves to true if any element matches the predicate, or false if no element matches.
136
101
  */
137
- export function someAsync(array, predicate) {
138
- return __awaiter(this, void 0, void 0, function () {
139
- var results;
140
- return __generator(this, function (_a) {
141
- switch (_a.label) {
142
- case 0: return [4 /*yield*/, mapAsync(array, predicate)];
143
- case 1:
144
- results = _a.sent();
145
- return [2 /*return*/, results.some(function (value) { return value; })];
146
- }
147
- });
148
- });
102
+ export async function someAsync(array, predicate) {
103
+ const results = await mapAsync(array, predicate);
104
+ return results.some((value) => value);
149
105
  }
150
106
  /**
151
107
  * Performs an asynchronous every operation on an array. This function behaves like Array.prototype.every, but accepts
@@ -156,21 +112,8 @@ export function someAsync(array, predicate) {
156
112
  * @note This function uses De Morgan's law to convert the predicate to a negated predicate, and then uses someAsync.
157
113
  * This is done because it is more efficient to short-circuit on the first false value than the first true value.
158
114
  */
159
- export function everyAsync(array, predicate) {
160
- return __awaiter(this, void 0, void 0, function () {
161
- var _this = this;
162
- return __generator(this, function (_a) {
163
- switch (_a.label) {
164
- case 0: return [4 /*yield*/, someAsync(array, function (value, index, obj) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
165
- switch (_a.label) {
166
- case 0: return [4 /*yield*/, predicate(value, index, obj)];
167
- case 1: return [2 /*return*/, !(_a.sent())];
168
- }
169
- }); }); })];
170
- case 1: return [2 /*return*/, !(_a.sent())];
171
- }
172
- });
173
- });
115
+ export async function everyAsync(array, predicate) {
116
+ return !(await someAsync(array, async (value, index, obj) => !(await predicate(value, index, obj))));
174
117
  }
175
118
  /**
176
119
  * Performs an asynchronous includes operation on an array. This function behaves like Array.prototype.includes, but
@@ -201,6 +144,6 @@ export function isArrayOf(array, predicate) {
201
144
  export function isUint8Array(value) {
202
145
  return (Array.isArray(value) &&
203
146
  value.length > 0 &&
204
- value.every(function (item) { return typeof item === "number" && Number.isInteger(item) && item >= 0 && item < 256; }));
147
+ value.every((item) => typeof item === "number" && Number.isInteger(item) && item >= 0 && item < 256));
205
148
  }
206
149
  //# sourceMappingURL=ArrayUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayUtils.js","sourceRoot":"","sources":["../../../src/utils/ArrayUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArrayUtils.js","sourceRoot":"","sources":["../../../src/utils/ArrayUtils.ts"],"names":[],"mappings":"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"}
@@ -8,16 +8,16 @@ import { utils as ethersUtils } from "ethers";
8
8
  import { BigNumber } from "@ethersproject/bignumber";
9
9
  // eslint-disable-next-line no-restricted-imports
10
10
  export * from "@ethersproject/bignumber";
11
- export var formatEther = ethersUtils.formatEther, formatUnits = ethersUtils.formatUnits, parseEther = ethersUtils.parseEther, parseUnits = ethersUtils.parseUnits;
12
- export var bnZero = BigNumber.from("0");
13
- export var bnOne = BigNumber.from("1");
14
- export var bnUint32Max = BigNumber.from("0xffffffff");
15
- export var bnUint256Max = BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
11
+ export const { formatEther, formatUnits, parseEther, parseUnits } = ethersUtils;
12
+ export const bnZero = BigNumber.from("0");
13
+ export const bnOne = BigNumber.from("1");
14
+ export const bnUint32Max = BigNumber.from("0xffffffff");
15
+ export const bnUint256Max = BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
16
16
  /**
17
17
  * BigInt min/max helpers.
18
18
  */
19
- export var biMin = function (a, b) { return (a > b ? b : a); };
20
- export var biMax = function (a, b) { return (a > b ? a : b); };
19
+ export const biMin = (a, b) => (a > b ? b : a);
20
+ export const biMax = (a, b) => (a > b ? a : b);
21
21
  /**
22
22
  * Converts a stringified number into a BigNumber with 18 decimal places.
23
23
  * @param num The number to parse.
@@ -42,18 +42,17 @@ export function toGWei(num) {
42
42
  * @returns The parsed BigNumber.
43
43
  * @note This is a temporary function until we can backport support for decimal points to @across-protocol/sdk.
44
44
  */
45
- export var toBN = function (num, rounding) {
46
- if (rounding === void 0) { rounding = "floor"; }
45
+ export const toBN = (num, rounding = "floor") => {
47
46
  // If the string version of the num contains a `.` then it is a number which needs to be parsed to a string int.
48
47
  if (num.toString().includes(".")) {
49
48
  // Destructure the integer and decimal parts of the number.
50
- var _a = num.toString().split("."), integer = _a[0], decimal = _a[1];
49
+ const [integer, decimal] = num.toString().split(".");
51
50
  // We can determine if we need to round in a losseless way. First we need to check
52
51
  // if the number just has a decimal point with no decimal places. If it does, we
53
52
  // can just return the integer. However, if it has a decimal point with decimal
54
53
  // places, then we can automatically round up if ceil is specified or if round is
55
54
  // specified and the first decimal is greater than or equal to 5.
56
- var roundUp = decimal.length > 0 && (rounding === "ceil" || (rounding === "round" && parseInt(decimal[0]) >= 5));
55
+ const roundUp = decimal.length > 0 && (rounding === "ceil" || (rounding === "round" && parseInt(decimal[0]) >= 5));
57
56
  // If we need to round up, we can just add 1 to the integer.
58
57
  return BigNumber.from(integer).add(roundUp ? 1 : 0);
59
58
  }
@@ -67,7 +66,7 @@ export var toBN = function (num, rounding) {
67
66
  * @param cmp The second BigNumber to compare.
68
67
  * @returns The greater of the two BigNumbers.
69
68
  */
70
- export var bnMax = function (val, cmp) {
69
+ export const bnMax = (val, cmp) => {
71
70
  return val.gt(cmp) ? val : cmp;
72
71
  };
73
72
  //# sourceMappingURL=BigNumberUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BigNumberUtils.js","sourceRoot":"","sources":["../../../src/utils/BigNumberUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9C,iDAAiD;AACjD,OAAO,EAAE,SAAS,EAAgB,MAAM,0BAA0B,CAAC;AAEnE,iDAAiD;AACjD,cAAc,0BAA0B,CAAC;AAGzC,MAAM,CAAS,IAAA,WAAW,GAA0C,WAAW,YAArD,EAAE,WAAW,GAA6B,WAAW,YAAxC,EAAE,UAAU,GAAiB,WAAW,WAA5B,EAAE,UAAU,GAAK,WAAW,WAAhB,CAAiB;AAChF,MAAM,CAAC,IAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,IAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxD,MAAM,CAAC,IAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;AAEjH;;GAEG;AACH,MAAM,CAAC,IAAM,KAAK,GAAG,UAAC,CAAS,EAAE,CAAS,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC;AAC/D,MAAM,CAAC,IAAM,KAAK,GAAG,UAAC,CAAS,EAAE,CAAS,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC;AAE/D;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,GAAiB;IACrC,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,GAAiB;IACtC,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,IAAM,IAAI,GAAG,UAAC,GAAiB,EAAE,QAA8C;IAA9C,yBAAA,EAAA,kBAA8C;IACpF,gHAAgH;IAChH,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,2DAA2D;QACrD,IAAA,KAAqB,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAA7C,OAAO,QAAA,EAAE,OAAO,QAA6B,CAAC;QACrD,kFAAkF;QAClF,gFAAgF;QAChF,+EAA+E;QAC/E,iFAAiF;QACjF,iEAAiE;QACjE,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnH,4DAA4D;QAC5D,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,8DAA8D;IAC9D,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,KAAK,GAAG,UAAC,GAAc,EAAE,GAAc;IAClD,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"BigNumberUtils.js","sourceRoot":"","sources":["../../../src/utils/BigNumberUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9C,iDAAiD;AACjD,OAAO,EAAE,SAAS,EAAgB,MAAM,0BAA0B,CAAC;AAEnE,iDAAiD;AACjD,cAAc,0BAA0B,CAAC;AAGzC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;AAChF,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;AAEjH;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,GAAiB;IACrC,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,GAAiB;IACtC,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAiB,EAAE,WAAuC,OAAO,EAAM,EAAE;IAC5F,gHAAgH;IAChH,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,2DAA2D;QAC3D,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,kFAAkF;QAClF,gFAAgF;QAChF,+EAA+E;QAC/E,iFAAiF;QACjF,iEAAiE;QACjE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnH,4DAA4D;QAC5D,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,8DAA8D;IAC9D,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAc,EAAE,GAAc,EAAE,EAAE;IACtD,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACjC,CAAC,CAAC"}
@@ -11,8 +11,7 @@ import bs58 from "bs58";
11
11
  * @returns The block explorer link. This link will be formatted in markdown.
12
12
  */
13
13
  export function blockExplorerLink(txHashOrAddress, chainId) {
14
- var _a;
15
- return (_a = _createBlockExplorerLinkMarkdown(txHashOrAddress, Number(chainId))) !== null && _a !== void 0 ? _a : "<>";
14
+ return _createBlockExplorerLinkMarkdown(txHashOrAddress, Number(chainId)) ?? "<>";
16
15
  }
17
16
  /**
18
17
  * Resolves a domain to an block explorer link for a given network.
@@ -20,8 +19,7 @@ export function blockExplorerLink(txHashOrAddress, chainId) {
20
19
  * @returns The block explorer link. If the networkId is not supported, undefined will be returned.
21
20
  */
22
21
  export function resolveBlockExplorerDomain(networkId) {
23
- var _a;
24
- return (_a = PUBLIC_NETWORKS[networkId]) === null || _a === void 0 ? void 0 : _a.blockExplorer;
22
+ return PUBLIC_NETWORKS[networkId]?.blockExplorer;
25
23
  }
26
24
  /**
27
25
  * Constructs a URL for a given list of domain parts.
@@ -35,13 +33,13 @@ export function resolveBlockExplorerDomain(networkId) {
35
33
  */
36
34
  function constructURL(domain, parts) {
37
35
  // Further split the parts by "/" to handle any parts that contain multiple "/".
38
- parts = parts.flatMap(function (p) { return p.split("/"); });
36
+ parts = parts.flatMap((p) => p.split("/"));
39
37
  // Remove any empty parts.
40
- parts = parts.filter(function (p) { return p !== ""; });
38
+ parts = parts.filter((p) => p !== "");
41
39
  // Join the parts with a "/".
42
- var path = parts.join("/");
40
+ const path = parts.join("/");
43
41
  // Remove any trailing "/".
44
- return "".concat(domain, "/").concat(path).replace(/\/+$/, "");
42
+ return `${domain}/${path}`.replace(/\/+$/, "");
45
43
  }
46
44
  /**
47
45
  * Generates a valid block explorer link for a given transaction hash or address.
@@ -49,40 +47,38 @@ function constructURL(domain, parts) {
49
47
  * @param chainId The chainId to link to.
50
48
  * @returns A formatted markdown block explorer link to the given transaction hash or address on the given chainId.
51
49
  */
52
- function _createBlockExplorerLinkMarkdown(addr, chainId) {
53
- if (chainId === void 0) { chainId = 1; }
50
+ function _createBlockExplorerLinkMarkdown(addr, chainId = 1) {
54
51
  // Attempt to resolve the block explorer domain for the given chainId.
55
- var explorerDomain = resolveBlockExplorerDomain(chainId);
52
+ const explorerDomain = resolveBlockExplorerDomain(chainId);
56
53
  // If the chainId is not supported, return an unsupported link.
57
54
  if (!isDefined(explorerDomain)) {
58
- return "<unsupported chain/hash ".concat(chainId, ":").concat(addr, ">}");
55
+ return `<unsupported chain/hash ${chainId}:${addr}>}`;
59
56
  }
60
57
  // Ensure that the first two characters are "0x". If they are not, append them.
61
58
  if (addr.substring(0, 2) !== "0x" && chainIsEvm(chainId)) {
62
- addr = "0x".concat(addr);
59
+ addr = `0x${addr}`;
63
60
  if (!ethers.utils.isHexString(addr)) {
64
61
  return null;
65
62
  }
66
63
  }
67
64
  // Resolve the short URL string.
68
- var shortURLString = createShortenedString(addr);
65
+ const shortURLString = createShortenedString(addr);
69
66
  if (chainIsEvm(chainId)) {
70
67
  // Iterate over the two possible addr lengths.
71
- for (var _i = 0, _a = [
68
+ for (const [length, route] of [
72
69
  [66, "tx"],
73
70
  [42, "address"],
74
- ]; _i < _a.length; _i++) {
75
- var _b = _a[_i], length_1 = _b[0], route = _b[1];
71
+ ]) {
76
72
  // If the hex string is the correct length, return the link.
77
- if (addr.length === length_1) {
78
- return "<".concat(constructURL(explorerDomain, [route, addr]), " | ").concat(shortURLString, ">");
73
+ if (addr.length === length) {
74
+ return `<${constructURL(explorerDomain, [route, addr])} | ${shortURLString}>`;
79
75
  }
80
76
  }
81
77
  }
82
78
  else {
83
- var addrLength = bs58.decode(addr).length;
84
- var route = addrLength === 32 ? "account" : "tx";
85
- return "<".concat(constructURL(explorerDomain, [route, addr]), " | ").concat(shortURLString, ">");
79
+ const addrLength = bs58.decode(addr).length;
80
+ const route = addrLength === 32 ? "account" : "tx";
81
+ return `<${constructURL(explorerDomain, [route, addr])} | ${shortURLString}>`;
86
82
  }
87
83
  return null;
88
84
  }
@@ -94,6 +90,6 @@ function _createBlockExplorerLinkMarkdown(addr, chainId) {
94
90
  * @see blockExplorerLink
95
91
  */
96
92
  export function blockExplorerLinks(txHashesOrAddresses, chainId) {
97
- return txHashesOrAddresses.map(function (hash) { return "".concat(blockExplorerLink(hash, chainId), "\n"); }).join("");
93
+ return txHashesOrAddresses.map((hash) => `${blockExplorerLink(hash, chainId)}\n`).join("");
98
94
  }
99
95
  //# sourceMappingURL=BlockExplorerUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockExplorerUtils.js","sourceRoot":"","sources":["../../../src/utils/BlockExplorerUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlockExplorerUtils.js","sourceRoot":"","sources":["../../../src/utils/BlockExplorerUtils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,3 @@
1
- var BlockFinder = /** @class */ (function () {
2
- function BlockFinder() {
3
- }
4
- return BlockFinder;
5
- }());
6
- export { BlockFinder };
1
+ export class BlockFinder {
2
+ }
7
3
  //# sourceMappingURL=BlockFinder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockFinder.js","sourceRoot":"","sources":["../../../src/utils/BlockFinder.ts"],"names":[],"mappings":"AAsBA;IAAA;IAEA,CAAC;IAAD,kBAAC;AAAD,CAAC,AAFD,IAEC"}
1
+ {"version":3,"file":"BlockFinder.js","sourceRoot":"","sources":["../../../src/utils/BlockFinder.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAgB,WAAW;CAEhC"}
@@ -1,4 +1,3 @@
1
- import { __awaiter, __generator } from "tslib";
2
1
  import { isDefined } from "./TypeGuards";
3
2
  import { getCurrentTime } from "./TimeUtils";
4
3
  import { shouldCache } from "./CachingUtils";
@@ -12,44 +11,36 @@ import { DEFAULT_CACHING_SAFE_LAG } from "../constants";
12
11
  * or loading from cache. This is useful for testing primarily.
13
12
  * @returns Block number for the requested timestamp.
14
13
  */
15
- export function getCachedBlockForTimestamp(chainId, timestamp, blockFinder, cache, hints) {
16
- return __awaiter(this, void 0, void 0, function () {
17
- var resolver, key, result, blockNumber;
18
- var _this = this;
19
- return __generator(this, function (_a) {
20
- switch (_a.label) {
21
- case 0:
22
- resolver = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
23
- switch (_a.label) {
24
- case 0: return [4 /*yield*/, blockFinder.getBlockForTimestamp(timestamp, hints || {})];
25
- case 1: return [2 /*return*/, (_a.sent()).number];
26
- }
27
- }); }); };
28
- // If no redis client, then request block from blockFinder.
29
- if (!isDefined(cache)) {
30
- return [2 /*return*/, resolver()];
31
- }
32
- key = "".concat(chainId, "_block_number_").concat(timestamp);
33
- if (!shouldCache(timestamp, getCurrentTime(), DEFAULT_CACHING_SAFE_LAG)) return [3 /*break*/, 6];
34
- return [4 /*yield*/, cache.get(key)];
35
- case 1:
36
- result = _a.sent();
37
- if (!(result !== null)) return [3 /*break*/, 2];
38
- return [2 /*return*/, parseInt(result)];
39
- case 2: return [4 /*yield*/, resolver()];
40
- case 3:
41
- blockNumber = _a.sent();
42
- // Expire key after 90 days.
43
- return [4 /*yield*/, cache.set(key, blockNumber.toString(), 60 * 60 * 24 * 90)];
44
- case 4:
45
- // Expire key after 90 days.
46
- _a.sent(); // 90 days
47
- return [2 /*return*/, blockNumber];
48
- case 5: return [3 /*break*/, 7];
49
- case 6: return [2 /*return*/, resolver()];
50
- case 7: return [2 /*return*/];
51
- }
52
- });
53
- });
14
+ export async function getCachedBlockForTimestamp(chainId, timestamp, blockFinder, cache, hints) {
15
+ // Resolve a convenience function to directly compute what we're
16
+ // looking for.
17
+ const resolver = async () => (await blockFinder.getBlockForTimestamp(timestamp, hints || {})).number;
18
+ // If no redis client, then request block from blockFinder.
19
+ if (!isDefined(cache)) {
20
+ return resolver();
21
+ }
22
+ // Cache exists. We should first check if it's possible to retrieve the block number from cache.
23
+ // Resolve the key for the block number.
24
+ const key = `${chainId}_block_number_${timestamp}`;
25
+ // See if it's even possible to retrieve the block number from cache.
26
+ if (shouldCache(timestamp, getCurrentTime(), DEFAULT_CACHING_SAFE_LAG)) {
27
+ // Attempt to retrieve the block number from cache.
28
+ const result = await cache.get(key);
29
+ // If the block number is in cache, then return it.
30
+ if (result !== null) {
31
+ return parseInt(result);
32
+ }
33
+ // Otherwise, we need to resolve the block number and cache it.
34
+ else {
35
+ const blockNumber = await resolver();
36
+ // Expire key after 90 days.
37
+ await cache.set(key, blockNumber.toString(), 60 * 60 * 24 * 90); // 90 days
38
+ return blockNumber;
39
+ }
40
+ }
41
+ // It's too early to cache this key. Resolve the block number and return it.
42
+ else {
43
+ return resolver();
44
+ }
54
45
  }
55
46
  //# sourceMappingURL=BlockUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockUtils.js","sourceRoot":"","sources":["../../../src/utils/BlockUtils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,UAAgB,0BAA0B,CAC9C,OAAe,EACf,SAAiB,EACjB,WAAgC,EAChC,KAAiC,EACjC,KAAwB;;;;;;;oBAIlB,QAAQ,GAAG;;oCAAa,qBAAM,WAAW,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,EAAA;oCAA/D,sBAAA,CAAC,SAA8D,CAAC,CAAC,MAAM,EAAA;;6BAAA,CAAC;oBAErG,2DAA2D;oBAC3D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtB,sBAAO,QAAQ,EAAE,EAAC;oBACpB,CAAC;oBAKK,GAAG,GAAG,UAAG,OAAO,2BAAiB,SAAS,CAAE,CAAC;yBAE/C,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,wBAAwB,CAAC,EAAlE,wBAAkE;oBAErD,qBAAM,KAAK,CAAC,GAAG,CAAS,GAAG,CAAC,EAAA;;oBAArC,MAAM,GAAG,SAA4B;yBAEvC,CAAA,MAAM,KAAK,IAAI,CAAA,EAAf,wBAAe;oBACjB,sBAAO,QAAQ,CAAC,MAAM,CAAC,EAAC;wBAIJ,qBAAM,QAAQ,EAAE,EAAA;;oBAA9B,WAAW,GAAG,SAAgB;oBACpC,4BAA4B;oBAC5B,qBAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAA;;oBAD/D,4BAA4B;oBAC5B,SAA+D,CAAC,CAAC,UAAU;oBAC3E,sBAAO,WAAW,EAAC;;wBAKrB,sBAAO,QAAQ,EAAE,EAAC;;;;;CAErB"}
1
+ {"version":3,"file":"BlockUtils.js","sourceRoot":"","sources":["../../../src/utils/BlockUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAe,EACf,SAAiB,EACjB,WAAgC,EAChC,KAAiC,EACjC,KAAwB;IAExB,gEAAgE;IAChE,eAAe;IACf,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,WAAW,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAErG,2DAA2D;IAC3D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,gGAAgG;IAEhG,wCAAwC;IACxC,MAAM,GAAG,GAAG,GAAG,OAAO,iBAAiB,SAAS,EAAE,CAAC;IACnD,qEAAqE;IACrE,IAAI,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACvE,mDAAmD;QACnD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAS,GAAG,CAAC,CAAC;QAC5C,mDAAmD;QACnD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,+DAA+D;aAC1D,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,QAAQ,EAAE,CAAC;YACrC,4BAA4B;YAC5B,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU;YAC3E,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IACD,4EAA4E;SACvE,CAAC;QACJ,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;AACH,CAAC"}
@@ -10,13 +10,13 @@
10
10
  * @returns The block for `chain` in `bundleEvaluationBlockNumbers`.
11
11
  */
12
12
  export function getBlockForChain(bundleEvaluationBlockNumbers, chain, chainIdListForBundleEvaluationBlockNumbers) {
13
- var indexForChain = chainIdListForBundleEvaluationBlockNumbers.indexOf(chain);
13
+ const indexForChain = chainIdListForBundleEvaluationBlockNumbers.indexOf(chain);
14
14
  if (indexForChain === -1) {
15
- throw new Error("Could not find chain ".concat(chain, " in chain ID list ").concat(chainIdListForBundleEvaluationBlockNumbers));
15
+ throw new Error(`Could not find chain ${chain} in chain ID list ${chainIdListForBundleEvaluationBlockNumbers}`);
16
16
  }
17
- var blockForChain = bundleEvaluationBlockNumbers[indexForChain];
17
+ const blockForChain = bundleEvaluationBlockNumbers[indexForChain];
18
18
  if (blockForChain === undefined) {
19
- throw new Error("Invalid block range for chain ".concat(chain));
19
+ throw new Error(`Invalid block range for chain ${chain}`);
20
20
  }
21
21
  return blockForChain;
22
22
  }
@@ -28,13 +28,13 @@ export function getBlockForChain(bundleEvaluationBlockNumbers, chain, chainIdLis
28
28
  * @returns
29
29
  */
30
30
  export function getBlockRangeForChain(blockRanges, chain, chainIdListForBundleEvaluationBlockNumbers) {
31
- var indexForChain = chainIdListForBundleEvaluationBlockNumbers.indexOf(chain);
31
+ const indexForChain = chainIdListForBundleEvaluationBlockNumbers.indexOf(chain);
32
32
  if (indexForChain === -1) {
33
- throw new Error("Could not find chain ".concat(chain, " in chain ID list ").concat(chainIdListForBundleEvaluationBlockNumbers));
33
+ throw new Error(`Could not find chain ${chain} in chain ID list ${chainIdListForBundleEvaluationBlockNumbers}`);
34
34
  }
35
- var blockRangeForChain = blockRanges[indexForChain];
35
+ const blockRangeForChain = blockRanges[indexForChain];
36
36
  if (!blockRangeForChain || blockRangeForChain.length !== 2) {
37
- throw new Error("Invalid block range for chain ".concat(chain));
37
+ throw new Error(`Invalid block range for chain ${chain}`);
38
38
  }
39
39
  return blockRangeForChain;
40
40
  }
@@ -45,23 +45,21 @@ export function getBlockRangeForChain(blockRanges, chain, chainIdListForBundleEv
45
45
  * @returns blockRanges: number[][], [[startBlock, endBlock], [startBlock, endBlock], ...]
46
46
  */
47
47
  export function getImpliedBundleBlockRanges(hubPoolClient, configStoreClient, rootBundle) {
48
- var _a;
49
- var prevRootBundle = hubPoolClient.getLatestFullyExecutedRootBundle(rootBundle.blockNumber);
48
+ const prevRootBundle = hubPoolClient.getLatestFullyExecutedRootBundle(rootBundle.blockNumber);
50
49
  // If chain is disabled for this bundle block range, end block should be same as previous bundle.
51
50
  // Otherwise the range should be previous bundle's endBlock + 1 to current bundle's end block.
52
51
  // Get enabled chains at the mainnet start block of the current root bundle.
53
52
  // We'll check each chain represented in the bundleEvaluationBlockNumbers to see if it's enabled and
54
53
  // use that to determine the implied block range.
55
- var mainnetStartBlock = (_a = prevRootBundle === null || prevRootBundle === void 0 ? void 0 : prevRootBundle.bundleEvaluationBlockNumbers[0].toNumber()) !== null && _a !== void 0 ? _a : 0;
56
- var enabledChainsAtMainnetStartBlock = configStoreClient.getEnabledChains(mainnetStartBlock);
54
+ const mainnetStartBlock = prevRootBundle?.bundleEvaluationBlockNumbers[0].toNumber() ?? 0;
55
+ const enabledChainsAtMainnetStartBlock = configStoreClient.getEnabledChains(mainnetStartBlock);
57
56
  // Load all chain indices in order to map bundle evaluation block numbers to enabled chains list.
58
- var chainIdIndices = configStoreClient.getChainIdIndicesForBlock(rootBundle.blockNumber);
59
- var result = rootBundle.bundleEvaluationBlockNumbers.map(function (_endBlock, i) {
60
- var _a, _b, _c;
61
- var endBlock = _endBlock.toNumber();
62
- var bundleEndBlock = (_c = (_b = (_a = prevRootBundle === null || prevRootBundle === void 0 ? void 0 : prevRootBundle.bundleEvaluationBlockNumbers) === null || _a === void 0 ? void 0 : _a[i]) === null || _b === void 0 ? void 0 : _b.toNumber()) !== null && _c !== void 0 ? _c : 0;
63
- var fromBlock = bundleEndBlock === endBlock ? endBlock : bundleEndBlock + 1;
64
- var chainId = chainIdIndices[i];
57
+ const chainIdIndices = configStoreClient.getChainIdIndicesForBlock(rootBundle.blockNumber);
58
+ const result = rootBundle.bundleEvaluationBlockNumbers.map((_endBlock, i) => {
59
+ const endBlock = _endBlock.toNumber();
60
+ const bundleEndBlock = prevRootBundle?.bundleEvaluationBlockNumbers?.[i]?.toNumber() ?? 0;
61
+ const fromBlock = bundleEndBlock === endBlock ? endBlock : bundleEndBlock + 1;
62
+ const chainId = chainIdIndices[i];
65
63
  if (!enabledChainsAtMainnetStartBlock.includes(chainId)) {
66
64
  return [endBlock, endBlock];
67
65
  }
@@ -70,17 +68,16 @@ export function getImpliedBundleBlockRanges(hubPoolClient, configStoreClient, ro
70
68
  // Lastly, sanity check the results to catch errors early:
71
69
  // 1. If the chain is enabled, the start block should be strictly less than to the end block.
72
70
  // 2. If the chain is disabled, the start block should be equal to the end block.
73
- result.forEach(function (_a, i) {
74
- var start = _a[0], end = _a[1];
75
- var chainId = chainIdIndices[i];
71
+ result.forEach(([start, end], i) => {
72
+ const chainId = chainIdIndices[i];
76
73
  if (enabledChainsAtMainnetStartBlock.includes(chainId)) {
77
74
  if (start > end) {
78
- throw new Error("Invalid block range for enabled chain ".concat(chainId, ": start block ").concat(start, " is greater than end block ").concat(end));
75
+ throw new Error(`Invalid block range for enabled chain ${chainId}: start block ${start} is greater than end block ${end}`);
79
76
  }
80
77
  }
81
78
  else {
82
79
  if (start !== end) {
83
- throw new Error("Invalid block range for disabled chain ".concat(chainId, ": start block ").concat(start, " is not equal to end block ").concat(end));
80
+ throw new Error(`Invalid block range for disabled chain ${chainId}: start block ${start} is not equal to end block ${end}`);
84
81
  }
85
82
  }
86
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BundleUtils.js","sourceRoot":"","sources":["../../../src/utils/BundleUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BundleUtils.js","sourceRoot":"","sources":["../../../src/utils/BundleUtils.ts"],"names":[],"mappings":"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"}