@across-protocol/sdk 4.3.111-alpha.3 → 4.3.111

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 +64 -50
  2. package/dist/cjs/addressAggregator/adapters/abstract.js.map +1 -1
  3. package/dist/cjs/addressAggregator/adapters/bybit.js +29 -16
  4. package/dist/cjs/addressAggregator/adapters/bybit.js.map +1 -1
  5. package/dist/cjs/addressAggregator/adapters/env.js +15 -11
  6. package/dist/cjs/addressAggregator/adapters/env.js.map +1 -1
  7. package/dist/cjs/addressAggregator/adapters/file.js +45 -32
  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 +36 -22
  11. package/dist/cjs/addressAggregator/adapters/risklabs.js.map +1 -1
  12. package/dist/cjs/addressAggregator/index.js +87 -57
  13. package/dist/cjs/addressAggregator/index.js.map +1 -1
  14. package/dist/cjs/apiClient/abstractClient.js +8 -9
  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 +29 -23
  18. package/dist/cjs/apiClient/mockedClient.js.map +1 -1
  19. package/dist/cjs/apiClient/productionClient.js +103 -65
  20. package/dist/cjs/apiClient/productionClient.js.map +1 -1
  21. package/dist/cjs/arch/evm/BlockUtils.js +208 -122
  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 +288 -134
  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 +49 -38
  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 +158 -102
  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 +1147 -708
  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 +236 -174
  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 +355 -166
  46. package/dist/cjs/arch/svm/utils.js.map +1 -1
  47. package/dist/cjs/caching/Arweave/ArweaveClient.js +246 -168
  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 +49 -40
  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 +18 -13
  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 +381 -302
  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 +83 -58
  61. package/dist/cjs/clients/BaseAbstractClient.js.map +1 -1
  62. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +900 -709
  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 +128 -95
  66. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  67. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +53 -48
  68. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  69. package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js +8 -10
  70. package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
  71. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +90 -67
  72. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  73. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js +24 -46
  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 +708 -526
  77. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  78. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +179 -133
  79. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  80. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +183 -124
  81. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  82. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +389 -357
  83. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  84. package/dist/cjs/clients/SpokePoolClient/SpokePoolClientManager.js +8 -9
  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 +67 -58
  90. package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -1
  91. package/dist/cjs/clients/mocks/MockEvents.js +52 -47
  92. package/dist/cjs/clients/mocks/MockEvents.js.map +1 -1
  93. package/dist/cjs/clients/mocks/MockHubPoolClient.js +185 -142
  94. package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
  95. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +192 -208
  96. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  97. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +143 -140
  98. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
  99. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +73 -57
  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 +437 -285
  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 +30 -23
  106. package/dist/cjs/constants.js.map +1 -1
  107. package/dist/cjs/contracts/acrossConfigStore.js +48 -27
  108. package/dist/cjs/contracts/acrossConfigStore.js.map +1 -1
  109. package/dist/cjs/contracts/hubPool.js +20 -36
  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 +8 -6
  113. package/dist/cjs/contracts/utils.js.map +1 -1
  114. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js +16 -7
  115. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  116. package/dist/cjs/gasPriceOracle/adapters/ethereum.js +45 -26
  117. package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -1
  118. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js +28 -16
  119. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  120. package/dist/cjs/gasPriceOracle/adapters/polygon.js +112 -73
  121. package/dist/cjs/gasPriceOracle/adapters/polygon.js.map +1 -1
  122. package/dist/cjs/gasPriceOracle/adapters/solana.js +33 -20
  123. package/dist/cjs/gasPriceOracle/adapters/solana.js.map +1 -1
  124. package/dist/cjs/gasPriceOracle/oracle.js +104 -77
  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 +35 -33
  134. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
  135. package/dist/cjs/lpFeeCalculator/rateModel.js +9 -7
  136. package/dist/cjs/lpFeeCalculator/rateModel.js.map +1 -1
  137. package/dist/cjs/merkleDistributor/MerkleDistributor.js +18 -20
  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 +100 -45
  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 +731 -464
  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 +100 -45
  148. package/dist/cjs/pool/uma/across/transactionManager.js.map +1 -1
  149. package/dist/cjs/pool/uma/clients/erc20/client.js +16 -18
  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 +5 -4
  156. package/dist/cjs/pool/uma/oracle/utils.js.map +1 -1
  157. package/dist/cjs/pool/uma/utils.js +30 -11
  158. package/dist/cjs/pool/uma/utils.js.map +1 -1
  159. package/dist/cjs/priceClient/adapters/acrossApi.js +39 -22
  160. package/dist/cjs/priceClient/adapters/acrossApi.js.map +1 -1
  161. package/dist/cjs/priceClient/adapters/baseAdapter.js +73 -49
  162. package/dist/cjs/priceClient/adapters/baseAdapter.js.map +1 -1
  163. package/dist/cjs/priceClient/adapters/coingecko.js +61 -34
  164. package/dist/cjs/priceClient/adapters/coingecko.js.map +1 -1
  165. package/dist/cjs/priceClient/adapters/default.js +31 -16
  166. package/dist/cjs/priceClient/adapters/default.js.map +1 -1
  167. package/dist/cjs/priceClient/adapters/defiLlama.js +74 -40
  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 +159 -110
  172. package/dist/cjs/priceClient/priceClient.js.map +1 -1
  173. package/dist/cjs/providers/alchemy.js +19 -17
  174. package/dist/cjs/providers/alchemy.js.map +1 -1
  175. package/dist/cjs/providers/cachedProvider.js +129 -88
  176. package/dist/cjs/providers/cachedProvider.js.map +1 -1
  177. package/dist/cjs/providers/drpc.js +11 -9
  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 +12 -10
  181. package/dist/cjs/providers/infura.js.map +1 -1
  182. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +15 -7
  183. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
  184. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js +14 -6
  185. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
  186. package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js +15 -7
  187. package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
  188. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js +66 -42
  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 +31 -29
  192. package/dist/cjs/providers/mocks/mockEthersProvider.js.map +1 -1
  193. package/dist/cjs/providers/quicknode.js +21 -19
  194. package/dist/cjs/providers/quicknode.js.map +1 -1
  195. package/dist/cjs/providers/rateLimitedProvider.js +79 -64
  196. package/dist/cjs/providers/rateLimitedProvider.js.map +1 -1
  197. package/dist/cjs/providers/retryProvider.js +246 -163
  198. package/dist/cjs/providers/retryProvider.js.map +1 -1
  199. package/dist/cjs/providers/solana/baseRpcFactories.js +18 -14
  200. package/dist/cjs/providers/solana/baseRpcFactories.js.map +1 -1
  201. package/dist/cjs/providers/solana/cachedRpcFactory.js +112 -70
  202. package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -1
  203. package/dist/cjs/providers/solana/defaultRpcFactory.js +15 -8
  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 +191 -135
  207. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
  208. package/dist/cjs/providers/solana/rateLimitedRpcFactory.js +90 -67
  209. package/dist/cjs/providers/solana/rateLimitedRpcFactory.js.map +1 -1
  210. package/dist/cjs/providers/solana/retryRpcFactory.js +79 -52
  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 +53 -31
  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 +28 -26
  219. package/dist/cjs/providers/utils.js.map +1 -1
  220. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +162 -108
  221. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  222. package/dist/cjs/relayFeeCalculator/chain-queries/customGasToken.js +26 -14
  223. package/dist/cjs/relayFeeCalculator/chain-queries/customGasToken.js.map +1 -1
  224. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +29 -20
  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 +137 -88
  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 +297 -199
  231. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  232. package/dist/cjs/typeguards/error.js +7 -5
  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 +144 -117
  236. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  237. package/dist/cjs/utils/ArrayUtils.js +78 -21
  238. package/dist/cjs/utils/ArrayUtils.js.map +1 -1
  239. package/dist/cjs/utils/BigNumberUtils.js +10 -9
  240. package/dist/cjs/utils/BigNumberUtils.js.map +1 -1
  241. package/dist/cjs/utils/BlockExplorerUtils.js +30 -26
  242. package/dist/cjs/utils/BlockExplorerUtils.js.map +1 -1
  243. package/dist/cjs/utils/BlockFinder.js +5 -2
  244. package/dist/cjs/utils/BlockFinder.js.map +1 -1
  245. package/dist/cjs/utils/BlockUtils.js +41 -24
  246. package/dist/cjs/utils/BlockUtils.js.map +1 -1
  247. package/dist/cjs/utils/BundleUtils.js +24 -21
  248. package/dist/cjs/utils/BundleUtils.js.map +1 -1
  249. package/dist/cjs/utils/CCTPUtils.js +126 -62
  250. package/dist/cjs/utils/CCTPUtils.js.map +1 -1
  251. package/dist/cjs/utils/CachingUtils.js +42 -20
  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 +99 -122
  256. package/dist/cjs/utils/DepositUtils.js.map +1 -1
  257. package/dist/cjs/utils/EventUtils.js +70 -49
  258. package/dist/cjs/utils/EventUtils.js.map +1 -1
  259. package/dist/cjs/utils/FormattingUtils.js +32 -26
  260. package/dist/cjs/utils/FormattingUtils.js.map +1 -1
  261. package/dist/cjs/utils/HyperLiquidUtils.js +23 -10
  262. package/dist/cjs/utils/HyperLiquidUtils.js.map +1 -1
  263. package/dist/cjs/utils/IPFSUtils.js +34 -16
  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 +12 -10
  268. package/dist/cjs/utils/LogUtils.js.map +1 -1
  269. package/dist/cjs/utils/Multicall.js +115 -56
  270. package/dist/cjs/utils/Multicall.js.map +1 -1
  271. package/dist/cjs/utils/NetworkUtils.js +28 -12
  272. package/dist/cjs/utils/NetworkUtils.js.map +1 -1
  273. package/dist/cjs/utils/NumberUtils.js +3 -1
  274. package/dist/cjs/utils/NumberUtils.js.map +1 -1
  275. package/dist/cjs/utils/ObjectUtils.js +41 -27
  276. package/dist/cjs/utils/ObjectUtils.js.map +1 -1
  277. package/dist/cjs/utils/Profiler.js +83 -80
  278. package/dist/cjs/utils/Profiler.js.map +1 -1
  279. package/dist/cjs/utils/ReviverUtils.js +9 -5
  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 +64 -41
  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 +22 -12
  291. package/dist/cjs/utils/abi/index.js.map +1 -1
  292. package/dist/cjs/utils/abi/typechain/factories/Multicall3__factory.js +12 -9
  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 +53 -40
  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 +64 -48
  299. package/dist/esm/addressAggregator/adapters/abstract.js.map +1 -1
  300. package/dist/esm/addressAggregator/adapters/bybit.js +29 -15
  301. package/dist/esm/addressAggregator/adapters/bybit.js.map +1 -1
  302. package/dist/esm/addressAggregator/adapters/env.js +14 -9
  303. package/dist/esm/addressAggregator/adapters/env.js.map +1 -1
  304. package/dist/esm/addressAggregator/adapters/file.js +43 -29
  305. package/dist/esm/addressAggregator/adapters/file.js.map +1 -1
  306. package/dist/esm/addressAggregator/adapters/risklabs.js +35 -20
  307. package/dist/esm/addressAggregator/adapters/risklabs.js.map +1 -1
  308. package/dist/esm/addressAggregator/index.js +83 -52
  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 +9 -15
  313. package/dist/esm/apiClient/abstractClient.js.map +1 -1
  314. package/dist/esm/apiClient/mockedClient.js +26 -21
  315. package/dist/esm/apiClient/mockedClient.js.map +1 -1
  316. package/dist/esm/apiClient/productionClient.js +101 -61
  317. package/dist/esm/apiClient/productionClient.js.map +1 -1
  318. package/dist/esm/arch/evm/BlockUtils.js +217 -139
  319. package/dist/esm/arch/evm/BlockUtils.js.map +1 -1
  320. package/dist/esm/arch/evm/SpokeUtils.js +289 -146
  321. package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
  322. package/dist/esm/arch/evm/utils/wait.js +46 -34
  323. package/dist/esm/arch/evm/utils/wait.js.map +1 -1
  324. package/dist/esm/arch/svm/BlockUtils.js +166 -118
  325. package/dist/esm/arch/svm/BlockUtils.js.map +1 -1
  326. package/dist/esm/arch/svm/SpokeUtils.js +1150 -738
  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 +232 -172
  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 +345 -155
  335. package/dist/esm/arch/svm/utils.js.map +1 -1
  336. package/dist/esm/caching/Arweave/ArweaveClient.js +256 -182
  337. package/dist/esm/caching/Arweave/ArweaveClient.js.map +1 -1
  338. package/dist/esm/caching/IPFS/PinataIPFSClient.js +48 -47
  339. package/dist/esm/caching/IPFS/PinataIPFSClient.js.map +1 -1
  340. package/dist/esm/caching/Memory/MemoryCacheClient.js +19 -13
  341. package/dist/esm/caching/Memory/MemoryCacheClient.js.map +1 -1
  342. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +408 -333
  343. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  344. package/dist/esm/clients/BaseAbstractClient.js +92 -66
  345. package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
  346. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +1054 -927
  347. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  348. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +131 -102
  349. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  350. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +59 -57
  351. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  352. package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js +5 -7
  353. package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
  354. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +94 -75
  355. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  356. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js +23 -45
  357. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
  358. package/dist/esm/clients/HubPoolClient.js +740 -581
  359. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  360. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +178 -133
  361. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  362. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +183 -126
  363. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  364. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +399 -372
  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 +64 -53
  373. package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
  374. package/dist/esm/clients/mocks/MockEvents.js +49 -42
  375. package/dist/esm/clients/mocks/MockEvents.js.map +1 -1
  376. package/dist/esm/clients/mocks/MockHubPoolClient.js +182 -138
  377. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
  378. package/dist/esm/clients/mocks/MockSpokePoolClient.js +188 -202
  379. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  380. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +132 -127
  381. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
  382. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +69 -53
  383. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
  384. package/dist/esm/coingecko/Coingecko.js +443 -298
  385. package/dist/esm/coingecko/Coingecko.js.map +1 -1
  386. package/dist/esm/constants.js +47 -40
  387. package/dist/esm/constants.js.map +1 -1
  388. package/dist/esm/contracts/acrossConfigStore.js +46 -24
  389. package/dist/esm/contracts/acrossConfigStore.js.map +1 -1
  390. package/dist/esm/contracts/hubPool.js +18 -34
  391. package/dist/esm/contracts/hubPool.js.map +1 -1
  392. package/dist/esm/contracts/utils.js +5 -3
  393. package/dist/esm/contracts/utils.js.map +1 -1
  394. package/dist/esm/gasPriceOracle/adapters/arbitrum.js +14 -6
  395. package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  396. package/dist/esm/gasPriceOracle/adapters/ethereum.js +42 -22
  397. package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -1
  398. package/dist/esm/gasPriceOracle/adapters/linea-viem.js +25 -13
  399. package/dist/esm/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  400. package/dist/esm/gasPriceOracle/adapters/polygon.js +108 -72
  401. package/dist/esm/gasPriceOracle/adapters/polygon.js.map +1 -1
  402. package/dist/esm/gasPriceOracle/adapters/solana.js +31 -22
  403. package/dist/esm/gasPriceOracle/adapters/solana.js.map +1 -1
  404. package/dist/esm/gasPriceOracle/oracle.js +96 -70
  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 +33 -30
  411. package/dist/esm/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
  412. package/dist/esm/lpFeeCalculator/rateModel.js +9 -7
  413. package/dist/esm/lpFeeCalculator/rateModel.js.map +1 -1
  414. package/dist/esm/merkleDistributor/MerkleDistributor.js +17 -18
  415. package/dist/esm/merkleDistributor/MerkleDistributor.js.map +1 -1
  416. package/dist/esm/pool/TransactionManager.js +100 -45
  417. package/dist/esm/pool/TransactionManager.js.map +1 -1
  418. package/dist/esm/pool/poolClient.js +740 -479
  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 +100 -45
  423. package/dist/esm/pool/uma/across/transactionManager.js.map +1 -1
  424. package/dist/esm/pool/uma/clients/erc20/client.js +13 -15
  425. package/dist/esm/pool/uma/clients/erc20/client.js.map +1 -1
  426. package/dist/esm/pool/uma/oracle/utils.js +3 -2
  427. package/dist/esm/pool/uma/oracle/utils.js.map +1 -1
  428. package/dist/esm/pool/uma/utils.js +28 -9
  429. package/dist/esm/pool/uma/utils.js.map +1 -1
  430. package/dist/esm/priceClient/adapters/acrossApi.js +40 -21
  431. package/dist/esm/priceClient/adapters/acrossApi.js.map +1 -1
  432. package/dist/esm/priceClient/adapters/baseAdapter.js +72 -46
  433. package/dist/esm/priceClient/adapters/baseAdapter.js.map +1 -1
  434. package/dist/esm/priceClient/adapters/coingecko.js +61 -33
  435. package/dist/esm/priceClient/adapters/coingecko.js.map +1 -1
  436. package/dist/esm/priceClient/adapters/default.js +31 -15
  437. package/dist/esm/priceClient/adapters/default.js.map +1 -1
  438. package/dist/esm/priceClient/adapters/defiLlama.js +73 -38
  439. package/dist/esm/priceClient/adapters/defiLlama.js.map +1 -1
  440. package/dist/esm/priceClient/priceClient.js +158 -109
  441. package/dist/esm/priceClient/priceClient.js.map +1 -1
  442. package/dist/esm/providers/alchemy.js +18 -16
  443. package/dist/esm/providers/alchemy.js.map +1 -1
  444. package/dist/esm/providers/cachedProvider.js +134 -99
  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 +10 -8
  449. package/dist/esm/providers/drpc.js.map +1 -1
  450. package/dist/esm/providers/infura.js +11 -9
  451. package/dist/esm/providers/infura.js.map +1 -1
  452. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +15 -6
  453. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
  454. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js +14 -5
  455. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
  456. package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js +15 -6
  457. package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
  458. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js +66 -41
  459. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js.map +1 -1
  460. package/dist/esm/providers/mocks/mockEthersProvider.js +30 -27
  461. package/dist/esm/providers/mocks/mockEthersProvider.js.map +1 -1
  462. package/dist/esm/providers/quicknode.js +20 -18
  463. package/dist/esm/providers/quicknode.js.map +1 -1
  464. package/dist/esm/providers/rateLimitedProvider.js +80 -68
  465. package/dist/esm/providers/rateLimitedProvider.js.map +1 -1
  466. package/dist/esm/providers/retryProvider.js +259 -186
  467. package/dist/esm/providers/retryProvider.js.map +1 -1
  468. package/dist/esm/providers/solana/baseRpcFactories.js +19 -13
  469. package/dist/esm/providers/solana/baseRpcFactories.js.map +1 -1
  470. package/dist/esm/providers/solana/cachedRpcFactory.js +112 -75
  471. package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -1
  472. package/dist/esm/providers/solana/defaultRpcFactory.js +14 -6
  473. package/dist/esm/providers/solana/defaultRpcFactory.js.map +1 -1
  474. package/dist/esm/providers/solana/quorumFallbackRpcFactory.js +202 -149
  475. package/dist/esm/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
  476. package/dist/esm/providers/solana/rateLimitedRpcFactory.js +90 -70
  477. package/dist/esm/providers/solana/rateLimitedRpcFactory.js.map +1 -1
  478. package/dist/esm/providers/solana/retryRpcFactory.js +74 -50
  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 +51 -28
  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 +20 -17
  487. package/dist/esm/providers/utils.js.map +1 -1
  488. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +152 -98
  489. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  490. package/dist/esm/relayFeeCalculator/chain-queries/customGasToken.js +26 -13
  491. package/dist/esm/relayFeeCalculator/chain-queries/customGasToken.js.map +1 -1
  492. package/dist/esm/relayFeeCalculator/chain-queries/factory.js +19 -9
  493. package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  494. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +128 -83
  495. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  496. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +299 -211
  497. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  498. package/dist/esm/typeguards/error.js +5 -3
  499. package/dist/esm/typeguards/error.js.map +1 -1
  500. package/dist/esm/utils/AddressUtils.js +147 -115
  501. package/dist/esm/utils/AddressUtils.js.map +1 -1
  502. package/dist/esm/utils/ArrayUtils.js +78 -21
  503. package/dist/esm/utils/ArrayUtils.js.map +1 -1
  504. package/dist/esm/utils/BigNumberUtils.js +12 -11
  505. package/dist/esm/utils/BigNumberUtils.js.map +1 -1
  506. package/dist/esm/utils/BlockExplorerUtils.js +23 -19
  507. package/dist/esm/utils/BlockExplorerUtils.js.map +1 -1
  508. package/dist/esm/utils/BlockFinder.js +6 -2
  509. package/dist/esm/utils/BlockFinder.js.map +1 -1
  510. package/dist/esm/utils/BlockUtils.js +40 -31
  511. package/dist/esm/utils/BlockUtils.js.map +1 -1
  512. package/dist/esm/utils/BundleUtils.js +24 -21
  513. package/dist/esm/utils/BundleUtils.js.map +1 -1
  514. package/dist/esm/utils/CCTPUtils.js +123 -62
  515. package/dist/esm/utils/CCTPUtils.js.map +1 -1
  516. package/dist/esm/utils/CachingUtils.js +38 -17
  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 +98 -121
  521. package/dist/esm/utils/DepositUtils.js.map +1 -1
  522. package/dist/esm/utils/EventUtils.js +69 -52
  523. package/dist/esm/utils/EventUtils.js.map +1 -1
  524. package/dist/esm/utils/FormattingUtils.js +26 -20
  525. package/dist/esm/utils/FormattingUtils.js.map +1 -1
  526. package/dist/esm/utils/HyperLiquidUtils.js +22 -8
  527. package/dist/esm/utils/HyperLiquidUtils.js.map +1 -1
  528. package/dist/esm/utils/IPFSUtils.js +35 -16
  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 +12 -8
  533. package/dist/esm/utils/LogUtils.js.map +1 -1
  534. package/dist/esm/utils/Multicall.js +110 -50
  535. package/dist/esm/utils/Multicall.js.map +1 -1
  536. package/dist/esm/utils/NetworkUtils.js +28 -12
  537. package/dist/esm/utils/NetworkUtils.js.map +1 -1
  538. package/dist/esm/utils/NumberUtils.js +3 -1
  539. package/dist/esm/utils/NumberUtils.js.map +1 -1
  540. package/dist/esm/utils/ObjectUtils.js +41 -27
  541. package/dist/esm/utils/ObjectUtils.js.map +1 -1
  542. package/dist/esm/utils/Profiler.js +82 -77
  543. package/dist/esm/utils/Profiler.js.map +1 -1
  544. package/dist/esm/utils/ReviverUtils.js +7 -3
  545. package/dist/esm/utils/ReviverUtils.js.map +1 -1
  546. package/dist/esm/utils/SpokeUtils.js +78 -83
  547. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  548. package/dist/esm/utils/TokenUtils.js +57 -33
  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 +20 -10
  553. package/dist/esm/utils/abi/index.js.map +1 -1
  554. package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js +12 -8
  555. package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js.map +1 -1
  556. package/dist/esm/utils/common.js +52 -38
  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 +3 -3
  563. package/src/constants.ts +1 -0
  564. package/src/gasPriceOracle/oracle.ts +1 -0
  565. package/src/utils/Multicall.ts +1 -0
  566. package/src/utils/NetworkUtils.ts +8 -1
@@ -1,3 +1,4 @@
1
+ import { __awaiter, __generator } from "tslib";
1
2
  /**
2
3
  * Deduplicates an array by filtering it via a Set.
3
4
  * @notice Should not be used for deduplicating arrays of complex types.
@@ -14,8 +15,8 @@ export function dedupArray(array) {
14
15
  * @returns A new array of chunked members.
15
16
  */
16
17
  export function chunk(array, chunkSize) {
17
- const chunks = [];
18
- for (let i = 0; i < array.length; i += chunkSize) {
18
+ var chunks = [];
19
+ for (var i = 0; i < array.length; i += chunkSize) {
19
20
  chunks.push(array.slice(i, i + chunkSize));
20
21
  }
21
22
  return chunks;
@@ -28,7 +29,7 @@ export function chunk(array, chunkSize) {
28
29
  * @returns The last index of the array that matches the predicate, or -1 if no element matches.
29
30
  */
30
31
  export function findLastIndex(array, predicate) {
31
- for (let i = array.length - 1; i >= 0; i--) {
32
+ for (var i = array.length - 1; i >= 0; i--) {
32
33
  if (predicate(array[i], i, array)) {
33
34
  return i;
34
35
  }
@@ -43,7 +44,7 @@ export function findLastIndex(array, predicate) {
43
44
  * @returns The last element of the array that matches the predicate, or undefined if no element matches.
44
45
  */
45
46
  export function findLast(array, predicate) {
46
- const index = findLastIndex(array, predicate);
47
+ var index = findLastIndex(array, predicate);
47
48
  return index >= 0 ? array[index] : undefined;
48
49
  }
49
50
  /**
@@ -53,9 +54,18 @@ export function findLast(array, predicate) {
53
54
  * @param predicate The asynchronous predicate function to apply to each element.
54
55
  * @returns A promise that resolves to an array of elements that match the predicate.
55
56
  */
56
- export async function filterAsync(array, predicate) {
57
- const results = await Promise.all(array.map(predicate));
58
- return array.filter((_, index) => results[index]);
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
+ });
59
69
  }
60
70
  /**
61
71
  * Performs an asynchronous map operation on an array. This function behaves like Array.prototype.map, but accepts an
@@ -75,12 +85,28 @@ export function mapAsync(array, mapper) {
75
85
  * @param initialValue The initial value of the accumulator.
76
86
  * @returns A promise that resolves to the final value of the accumulator.
77
87
  */
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;
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
+ });
84
110
  }
85
111
  /**
86
112
  * Performs an asynchronous forEach operation on an array. This function behaves like Array.prototype.forEach, but
@@ -89,8 +115,17 @@ export async function reduceAsync(array, reducer, initialValue) {
89
115
  * @param callback The asynchronous callback function to apply to each element.
90
116
  * @returns A promise that resolves to void.
91
117
  */
92
- export async function forEachAsync(array, callback) {
93
- await mapAsync(array, callback);
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
+ });
94
129
  }
95
130
  /**
96
131
  * Performs an asynchronous some operation on an array. This function behaves like Array.prototype.some, but accepts
@@ -99,9 +134,18 @@ export async function forEachAsync(array, callback) {
99
134
  * @param predicate The asynchronous predicate function to apply to each element.
100
135
  * @returns A promise that resolves to true if any element matches the predicate, or false if no element matches.
101
136
  */
102
- export async function someAsync(array, predicate) {
103
- const results = await mapAsync(array, predicate);
104
- return results.some((value) => value);
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
+ });
105
149
  }
106
150
  /**
107
151
  * Performs an asynchronous every operation on an array. This function behaves like Array.prototype.every, but accepts
@@ -112,8 +156,21 @@ export async function someAsync(array, predicate) {
112
156
  * @note This function uses De Morgan's law to convert the predicate to a negated predicate, and then uses someAsync.
113
157
  * This is done because it is more efficient to short-circuit on the first false value than the first true value.
114
158
  */
115
- export async function everyAsync(array, predicate) {
116
- return !(await someAsync(array, async (value, index, obj) => !(await predicate(value, index, obj))));
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
+ });
117
174
  }
118
175
  /**
119
176
  * Performs an asynchronous includes operation on an array. This function behaves like Array.prototype.includes, but
@@ -144,6 +201,6 @@ export function isArrayOf(array, predicate) {
144
201
  export function isUint8Array(value) {
145
202
  return (Array.isArray(value) &&
146
203
  value.length > 0 &&
147
- value.every((item) => typeof item === "number" && Number.isInteger(item) && item >= 0 && item < 256));
204
+ value.every(function (item) { return typeof item === "number" && Number.isInteger(item) && item >= 0 && item < 256; }));
148
205
  }
149
206
  //# 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 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");
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");
16
16
  /**
17
17
  * BigInt min/max helpers.
18
18
  */
19
- export const biMin = (a, b) => (a > b ? b : a);
20
- export const biMax = (a, b) => (a > b ? a : b);
19
+ export var biMin = function (a, b) { return (a > b ? b : a); };
20
+ export var biMax = function (a, b) { return (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,17 +42,18 @@ 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 const toBN = (num, rounding = "floor") => {
45
+ export var toBN = function (num, rounding) {
46
+ if (rounding === void 0) { rounding = "floor"; }
46
47
  // If the string version of the num contains a `.` then it is a number which needs to be parsed to a string int.
47
48
  if (num.toString().includes(".")) {
48
49
  // Destructure the integer and decimal parts of the number.
49
- const [integer, decimal] = num.toString().split(".");
50
+ var _a = num.toString().split("."), integer = _a[0], decimal = _a[1];
50
51
  // We can determine if we need to round in a losseless way. First we need to check
51
52
  // if the number just has a decimal point with no decimal places. If it does, we
52
53
  // can just return the integer. However, if it has a decimal point with decimal
53
54
  // places, then we can automatically round up if ceil is specified or if round is
54
55
  // specified and the first decimal is greater than or equal to 5.
55
- const roundUp = decimal.length > 0 && (rounding === "ceil" || (rounding === "round" && parseInt(decimal[0]) >= 5));
56
+ var roundUp = decimal.length > 0 && (rounding === "ceil" || (rounding === "round" && parseInt(decimal[0]) >= 5));
56
57
  // If we need to round up, we can just add 1 to the integer.
57
58
  return BigNumber.from(integer).add(roundUp ? 1 : 0);
58
59
  }
@@ -66,7 +67,7 @@ export const toBN = (num, rounding = "floor") => {
66
67
  * @param cmp The second BigNumber to compare.
67
68
  * @returns The greater of the two BigNumbers.
68
69
  */
69
- export const bnMax = (val, cmp) => {
70
+ export var bnMax = function (val, cmp) {
70
71
  return val.gt(cmp) ? val : cmp;
71
72
  };
72
73
  //# 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,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"}
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"}
@@ -11,7 +11,8 @@ 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
- return _createBlockExplorerLinkMarkdown(txHashOrAddress, Number(chainId)) ?? "<>";
14
+ var _a;
15
+ return (_a = _createBlockExplorerLinkMarkdown(txHashOrAddress, Number(chainId))) !== null && _a !== void 0 ? _a : "<>";
15
16
  }
16
17
  /**
17
18
  * Resolves a domain to an block explorer link for a given network.
@@ -19,7 +20,8 @@ export function blockExplorerLink(txHashOrAddress, chainId) {
19
20
  * @returns The block explorer link. If the networkId is not supported, undefined will be returned.
20
21
  */
21
22
  export function resolveBlockExplorerDomain(networkId) {
22
- return PUBLIC_NETWORKS[networkId]?.blockExplorer;
23
+ var _a;
24
+ return (_a = PUBLIC_NETWORKS[networkId]) === null || _a === void 0 ? void 0 : _a.blockExplorer;
23
25
  }
24
26
  /**
25
27
  * Constructs a URL for a given list of domain parts.
@@ -33,13 +35,13 @@ export function resolveBlockExplorerDomain(networkId) {
33
35
  */
34
36
  function constructURL(domain, parts) {
35
37
  // Further split the parts by "/" to handle any parts that contain multiple "/".
36
- parts = parts.flatMap((p) => p.split("/"));
38
+ parts = parts.flatMap(function (p) { return p.split("/"); });
37
39
  // Remove any empty parts.
38
- parts = parts.filter((p) => p !== "");
40
+ parts = parts.filter(function (p) { return p !== ""; });
39
41
  // Join the parts with a "/".
40
- const path = parts.join("/");
42
+ var path = parts.join("/");
41
43
  // Remove any trailing "/".
42
- return `${domain}/${path}`.replace(/\/+$/, "");
44
+ return "".concat(domain, "/").concat(path).replace(/\/+$/, "");
43
45
  }
44
46
  /**
45
47
  * Generates a valid block explorer link for a given transaction hash or address.
@@ -47,38 +49,40 @@ function constructURL(domain, parts) {
47
49
  * @param chainId The chainId to link to.
48
50
  * @returns A formatted markdown block explorer link to the given transaction hash or address on the given chainId.
49
51
  */
50
- function _createBlockExplorerLinkMarkdown(addr, chainId = 1) {
52
+ function _createBlockExplorerLinkMarkdown(addr, chainId) {
53
+ if (chainId === void 0) { chainId = 1; }
51
54
  // Attempt to resolve the block explorer domain for the given chainId.
52
- const explorerDomain = resolveBlockExplorerDomain(chainId);
55
+ var explorerDomain = resolveBlockExplorerDomain(chainId);
53
56
  // If the chainId is not supported, return an unsupported link.
54
57
  if (!isDefined(explorerDomain)) {
55
- return `<unsupported chain/hash ${chainId}:${addr}>}`;
58
+ return "<unsupported chain/hash ".concat(chainId, ":").concat(addr, ">}");
56
59
  }
57
60
  // Ensure that the first two characters are "0x". If they are not, append them.
58
61
  if (addr.substring(0, 2) !== "0x" && chainIsEvm(chainId)) {
59
- addr = `0x${addr}`;
62
+ addr = "0x".concat(addr);
60
63
  if (!ethers.utils.isHexString(addr)) {
61
64
  return null;
62
65
  }
63
66
  }
64
67
  // Resolve the short URL string.
65
- const shortURLString = createShortenedString(addr);
68
+ var shortURLString = createShortenedString(addr);
66
69
  if (chainIsEvm(chainId)) {
67
70
  // Iterate over the two possible addr lengths.
68
- for (const [length, route] of [
71
+ for (var _i = 0, _a = [
69
72
  [66, "tx"],
70
73
  [42, "address"],
71
- ]) {
74
+ ]; _i < _a.length; _i++) {
75
+ var _b = _a[_i], length_1 = _b[0], route = _b[1];
72
76
  // If the hex string is the correct length, return the link.
73
- if (addr.length === length) {
74
- return `<${constructURL(explorerDomain, [route, addr])} | ${shortURLString}>`;
77
+ if (addr.length === length_1) {
78
+ return "<".concat(constructURL(explorerDomain, [route, addr]), " | ").concat(shortURLString, ">");
75
79
  }
76
80
  }
77
81
  }
78
82
  else {
79
- const addrLength = bs58.decode(addr).length;
80
- const route = addrLength === 32 ? "account" : "tx";
81
- return `<${constructURL(explorerDomain, [route, addr])} | ${shortURLString}>`;
83
+ var addrLength = bs58.decode(addr).length;
84
+ var route = addrLength === 32 ? "account" : "tx";
85
+ return "<".concat(constructURL(explorerDomain, [route, addr]), " | ").concat(shortURLString, ">");
82
86
  }
83
87
  return null;
84
88
  }
@@ -90,6 +94,6 @@ function _createBlockExplorerLinkMarkdown(addr, chainId = 1) {
90
94
  * @see blockExplorerLink
91
95
  */
92
96
  export function blockExplorerLinks(txHashesOrAddresses, chainId) {
93
- return txHashesOrAddresses.map((hash) => `${blockExplorerLink(hash, chainId)}\n`).join("");
97
+ return txHashesOrAddresses.map(function (hash) { return "".concat(blockExplorerLink(hash, chainId), "\n"); }).join("");
94
98
  }
95
99
  //# 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,3 +1,7 @@
1
- export class BlockFinder {
2
- }
1
+ var BlockFinder = /** @class */ (function () {
2
+ function BlockFinder() {
3
+ }
4
+ return BlockFinder;
5
+ }());
6
+ export { BlockFinder };
3
7
  //# sourceMappingURL=BlockFinder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockFinder.js","sourceRoot":"","sources":["../../../src/utils/BlockFinder.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAgB,WAAW;CAEhC"}
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,3 +1,4 @@
1
+ import { __awaiter, __generator } from "tslib";
1
2
  import { isDefined } from "./TypeGuards";
2
3
  import { getCurrentTime } from "./TimeUtils";
3
4
  import { shouldCache } from "./CachingUtils";
@@ -11,36 +12,44 @@ import { DEFAULT_CACHING_SAFE_LAG } from "../constants";
11
12
  * or loading from cache. This is useful for testing primarily.
12
13
  * @returns Block number for the requested timestamp.
13
14
  */
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
- }
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
+ });
45
54
  }
46
55
  //# 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,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"}
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"}
@@ -10,13 +10,13 @@
10
10
  * @returns The block for `chain` in `bundleEvaluationBlockNumbers`.
11
11
  */
12
12
  export function getBlockForChain(bundleEvaluationBlockNumbers, chain, chainIdListForBundleEvaluationBlockNumbers) {
13
- const indexForChain = chainIdListForBundleEvaluationBlockNumbers.indexOf(chain);
13
+ var indexForChain = chainIdListForBundleEvaluationBlockNumbers.indexOf(chain);
14
14
  if (indexForChain === -1) {
15
- throw new Error(`Could not find chain ${chain} in chain ID list ${chainIdListForBundleEvaluationBlockNumbers}`);
15
+ throw new Error("Could not find chain ".concat(chain, " in chain ID list ").concat(chainIdListForBundleEvaluationBlockNumbers));
16
16
  }
17
- const blockForChain = bundleEvaluationBlockNumbers[indexForChain];
17
+ var blockForChain = bundleEvaluationBlockNumbers[indexForChain];
18
18
  if (blockForChain === undefined) {
19
- throw new Error(`Invalid block range for chain ${chain}`);
19
+ throw new Error("Invalid block range for chain ".concat(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
- const indexForChain = chainIdListForBundleEvaluationBlockNumbers.indexOf(chain);
31
+ var indexForChain = chainIdListForBundleEvaluationBlockNumbers.indexOf(chain);
32
32
  if (indexForChain === -1) {
33
- throw new Error(`Could not find chain ${chain} in chain ID list ${chainIdListForBundleEvaluationBlockNumbers}`);
33
+ throw new Error("Could not find chain ".concat(chain, " in chain ID list ").concat(chainIdListForBundleEvaluationBlockNumbers));
34
34
  }
35
- const blockRangeForChain = blockRanges[indexForChain];
35
+ var blockRangeForChain = blockRanges[indexForChain];
36
36
  if (!blockRangeForChain || blockRangeForChain.length !== 2) {
37
- throw new Error(`Invalid block range for chain ${chain}`);
37
+ throw new Error("Invalid block range for chain ".concat(chain));
38
38
  }
39
39
  return blockRangeForChain;
40
40
  }
@@ -45,21 +45,23 @@ 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
- const prevRootBundle = hubPoolClient.getLatestFullyExecutedRootBundle(rootBundle.blockNumber);
48
+ var _a;
49
+ var prevRootBundle = hubPoolClient.getLatestFullyExecutedRootBundle(rootBundle.blockNumber);
49
50
  // If chain is disabled for this bundle block range, end block should be same as previous bundle.
50
51
  // Otherwise the range should be previous bundle's endBlock + 1 to current bundle's end block.
51
52
  // Get enabled chains at the mainnet start block of the current root bundle.
52
53
  // We'll check each chain represented in the bundleEvaluationBlockNumbers to see if it's enabled and
53
54
  // use that to determine the implied block range.
54
- const mainnetStartBlock = prevRootBundle?.bundleEvaluationBlockNumbers[0].toNumber() ?? 0;
55
- const enabledChainsAtMainnetStartBlock = configStoreClient.getEnabledChains(mainnetStartBlock);
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);
56
57
  // Load all chain indices in order to map bundle evaluation block numbers to enabled chains list.
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];
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];
63
65
  if (!enabledChainsAtMainnetStartBlock.includes(chainId)) {
64
66
  return [endBlock, endBlock];
65
67
  }
@@ -68,16 +70,17 @@ export function getImpliedBundleBlockRanges(hubPoolClient, configStoreClient, ro
68
70
  // Lastly, sanity check the results to catch errors early:
69
71
  // 1. If the chain is enabled, the start block should be strictly less than to the end block.
70
72
  // 2. If the chain is disabled, the start block should be equal to the end block.
71
- result.forEach(([start, end], i) => {
72
- const chainId = chainIdIndices[i];
73
+ result.forEach(function (_a, i) {
74
+ var start = _a[0], end = _a[1];
75
+ var chainId = chainIdIndices[i];
73
76
  if (enabledChainsAtMainnetStartBlock.includes(chainId)) {
74
77
  if (start > end) {
75
- throw new Error(`Invalid block range for enabled chain ${chainId}: start block ${start} is greater than end block ${end}`);
78
+ throw new Error("Invalid block range for enabled chain ".concat(chainId, ": start block ").concat(start, " is greater than end block ").concat(end));
76
79
  }
77
80
  }
78
81
  else {
79
82
  if (start !== end) {
80
- throw new Error(`Invalid block range for disabled chain ${chainId}: start block ${start} is not equal to end block ${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));
81
84
  }
82
85
  }
83
86
  });
@@ -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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"}