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

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 { __assign, __awaiter, __generator } from "tslib";
2
1
  import assert from "assert";
3
2
  import { DEFAULT_CACHING_TTL, EMPTY_MESSAGE, UNDEFINED_MESSAGE_HASH, ZERO_BYTES } from "../constants";
4
3
  import { getMessageHash, isUnsafeDepositId } from "./SpokeUtils";
@@ -31,93 +30,80 @@ export var InvalidFill;
31
30
  * @throws If the spoke pool client has not been updated.
32
31
  */
33
32
  // @todo relocate
34
- export function queryHistoricalDepositForFill(spokePoolClient, fill, cache) {
35
- return __awaiter(this, void 0, void 0, function () {
36
- var depositId, originChain, deposit, match_1, cachedDeposit, result, match;
37
- var _a;
38
- return __generator(this, function (_b) {
39
- switch (_b.label) {
40
- case 0:
41
- if (isUnsafeDepositId(fill.depositId)) {
42
- return [2 /*return*/, {
43
- found: false,
44
- code: InvalidFill.DepositIdOutOfRange,
45
- reason: "Cannot find historical deposit for fill with unsafe deposit ID ".concat(fill.depositId, "."),
46
- }];
47
- }
48
- if (fill.originChainId !== spokePoolClient.chainId) {
49
- throw new Error("OriginChainId mismatch (".concat(fill.originChainId, " != ").concat(spokePoolClient.chainId, ")"));
50
- }
51
- // We need to update client so we know the first and last deposit ID's queried for this spoke pool client, as well
52
- // as the global first and last deposit ID's for this spoke pool.
53
- if (!spokePoolClient.isUpdated) {
54
- throw new Error("SpokePoolClient must be updated before querying historical deposits");
55
- }
56
- depositId = fill.depositId;
57
- originChain = getNetworkName(fill.originChainId);
58
- deposit = spokePoolClient.getDeposit(depositId);
59
- if (isDefined(deposit)) {
60
- match_1 = validateFillForDeposit(fill, deposit);
61
- if (match_1.valid) {
62
- return [2 /*return*/, { found: true, deposit: deposit }];
63
- }
64
- return [2 /*return*/, {
65
- found: false,
66
- code: InvalidFill.FillMismatch,
67
- reason: "Fill for ".concat(originChain, " deposit ID ").concat(depositId.toString(), " is invalid (").concat(match_1.reason, ")."),
68
- }];
69
- }
70
- if (!cache) return [3 /*break*/, 2];
71
- return [4 /*yield*/, getDepositInCache(getDepositKey(fill), cache)];
72
- case 1:
73
- cachedDeposit = _b.sent();
74
- // We only want to warn and remove the cached deposit if it
75
- // A: exists
76
- // B: is not formed correctly
77
- if (isDefined(cachedDeposit) && !isDepositFormedCorrectly(cachedDeposit)) {
78
- spokePoolClient.logger.warn({
79
- at: "[SDK]:DepositUtils#queryHistoricalDepositForFill",
80
- message: "Cached deposit was not formed correctly, removing from cache",
81
- fill: fill,
82
- cachedDeposit: cachedDeposit,
83
- });
84
- // By setting this value to undefined, we eventually have to pull
85
- // the deposit from our spoke pool client. Because this new deposit
86
- // is formed correctly, we will cache it below.
87
- cachedDeposit = undefined;
88
- }
89
- _b.label = 2;
90
- case 2:
91
- if (!isDefined(cachedDeposit)) return [3 /*break*/, 3];
92
- deposit = cachedDeposit;
93
- return [3 /*break*/, 6];
94
- case 3: return [4 /*yield*/, spokePoolClient.findDeposit(fill.depositId)];
95
- case 4:
96
- result = _b.sent();
97
- if (!result.found) {
98
- return [2 /*return*/, result];
99
- }
100
- (deposit = result.deposit);
101
- if (!cache) return [3 /*break*/, 6];
102
- return [4 /*yield*/, setDepositInCache(deposit, getCurrentTime(), cache, DEFAULT_CACHING_TTL)];
103
- case 5:
104
- _b.sent();
105
- _b.label = 6;
106
- case 6:
107
- assert(isDefined(deposit), "Unexpectedly failed to locate ".concat(originChain, " deposit ").concat(fill.depositId));
108
- (_a = deposit.messageHash) !== null && _a !== void 0 ? _a : (deposit.messageHash = getMessageHash(deposit.message));
109
- match = validateFillForDeposit(fill, deposit);
110
- if (match.valid) {
111
- return [2 /*return*/, { found: true, deposit: deposit }];
112
- }
113
- return [2 /*return*/, {
114
- found: false,
115
- code: InvalidFill.FillMismatch,
116
- reason: match.reason,
117
- }];
118
- }
119
- });
120
- });
33
+ export async function queryHistoricalDepositForFill(spokePoolClient, fill, cache) {
34
+ if (isUnsafeDepositId(fill.depositId)) {
35
+ return {
36
+ found: false,
37
+ code: InvalidFill.DepositIdOutOfRange,
38
+ reason: `Cannot find historical deposit for fill with unsafe deposit ID ${fill.depositId}.`,
39
+ };
40
+ }
41
+ if (fill.originChainId !== spokePoolClient.chainId) {
42
+ throw new Error(`OriginChainId mismatch (${fill.originChainId} != ${spokePoolClient.chainId})`);
43
+ }
44
+ // We need to update client so we know the first and last deposit ID's queried for this spoke pool client, as well
45
+ // as the global first and last deposit ID's for this spoke pool.
46
+ if (!spokePoolClient.isUpdated) {
47
+ throw new Error("SpokePoolClient must be updated before querying historical deposits");
48
+ }
49
+ const { depositId } = fill;
50
+ const originChain = getNetworkName(fill.originChainId);
51
+ let deposit = spokePoolClient.getDeposit(depositId);
52
+ if (isDefined(deposit)) {
53
+ const match = validateFillForDeposit(fill, deposit);
54
+ if (match.valid) {
55
+ return { found: true, deposit };
56
+ }
57
+ return {
58
+ found: false,
59
+ code: InvalidFill.FillMismatch,
60
+ reason: `Fill for ${originChain} deposit ID ${depositId.toString()} is invalid (${match.reason}).`,
61
+ };
62
+ }
63
+ // Deposit not found in SpokePoolClient buffer, search elsewhere.
64
+ let cachedDeposit;
65
+ if (cache) {
66
+ cachedDeposit = await getDepositInCache(getDepositKey(fill), cache);
67
+ // We only want to warn and remove the cached deposit if it
68
+ // A: exists
69
+ // B: is not formed correctly
70
+ if (isDefined(cachedDeposit) && !isDepositFormedCorrectly(cachedDeposit)) {
71
+ spokePoolClient.logger.warn({
72
+ at: "[SDK]:DepositUtils#queryHistoricalDepositForFill",
73
+ message: "Cached deposit was not formed correctly, removing from cache",
74
+ fill,
75
+ cachedDeposit,
76
+ });
77
+ // By setting this value to undefined, we eventually have to pull
78
+ // the deposit from our spoke pool client. Because this new deposit
79
+ // is formed correctly, we will cache it below.
80
+ cachedDeposit = undefined;
81
+ }
82
+ }
83
+ if (isDefined(cachedDeposit)) {
84
+ deposit = cachedDeposit;
85
+ }
86
+ else {
87
+ const result = await spokePoolClient.findDeposit(fill.depositId);
88
+ if (!result.found) {
89
+ return result;
90
+ }
91
+ ({ deposit } = result);
92
+ if (cache) {
93
+ await setDepositInCache(deposit, getCurrentTime(), cache, DEFAULT_CACHING_TTL);
94
+ }
95
+ }
96
+ assert(isDefined(deposit), `Unexpectedly failed to locate ${originChain} deposit ${fill.depositId}`);
97
+ deposit.messageHash ??= getMessageHash(deposit.message);
98
+ const match = validateFillForDeposit(fill, deposit);
99
+ if (match.valid) {
100
+ return { found: true, deposit: deposit };
101
+ }
102
+ return {
103
+ found: false,
104
+ code: InvalidFill.FillMismatch,
105
+ reason: match.reason,
106
+ };
121
107
  }
122
108
  /**
123
109
  * Concatenate all fields from a Deposit, Fill or SlowFillRequest into a single string.
@@ -145,7 +131,7 @@ export function getRelayEventKey(data) {
145
131
  .map(String)
146
132
  .join("-");
147
133
  }
148
- var RELAYDATA_KEYS = [
134
+ const RELAYDATA_KEYS = [
149
135
  "depositId",
150
136
  "originChainId",
151
137
  "destinationChainId",
@@ -169,13 +155,13 @@ export function validateFillForDeposit(relayData, deposit) {
169
155
  // Note: this short circuits when a key is found where the comparison doesn't match.
170
156
  // TODO: if we turn on "strict" in the tsconfig, the elements of FILL_DEPOSIT_COMPARISON_KEYS will be automatically
171
157
  // validated against the fields in Fill and Deposit, generating an error if there is a discrepancy.
172
- var invalidKey = RELAYDATA_KEYS.find(function (key) { return relayData[key].toString() !== deposit[key].toString(); });
158
+ let invalidKey = RELAYDATA_KEYS.find((key) => relayData[key].toString() !== deposit[key].toString());
173
159
  // There should be no paths for `messageHash` to be unset, but mask it off anyway.
174
160
  if (!isDefined(invalidKey) && [relayData.messageHash, deposit.messageHash].includes(UNDEFINED_MESSAGE_HASH)) {
175
161
  invalidKey = "messageHash";
176
162
  }
177
163
  return isDefined(invalidKey)
178
- ? { valid: false, reason: "".concat(invalidKey, " mismatch (").concat(relayData[invalidKey], " != ").concat(deposit[invalidKey], ")") }
164
+ ? { valid: false, reason: `${invalidKey} mismatch (${relayData[invalidKey]} != ${deposit[invalidKey]})` }
179
165
  : { valid: true };
180
166
  }
181
167
  /**
@@ -201,8 +187,7 @@ export function isZeroValueFillOrSlowFillRequest(e) {
201
187
  * @param message The message to check.
202
188
  * @returns True if the message is empty, false otherwise.
203
189
  */
204
- export function isMessageEmpty(message) {
205
- if (message === void 0) { message = EMPTY_MESSAGE; }
190
+ export function isMessageEmpty(message = EMPTY_MESSAGE) {
206
191
  return message === "" || message === "0x";
207
192
  }
208
193
  export function isFillOrSlowFillRequestMessageEmpty(message) {
@@ -222,7 +207,7 @@ export function isDepositSpedUp(deposit) {
222
207
  * @returns Original or updated message string, depending on whether the depositor updated the deposit.
223
208
  */
224
209
  export function resolveDepositMessage(deposit) {
225
- var message = isDepositSpedUp(deposit) ? deposit.updatedMessage : deposit.message;
210
+ const message = isDepositSpedUp(deposit) ? deposit.updatedMessage : deposit.message;
226
211
  assert(isDefined(message)); // Appease tsc about the updatedMessage being possibly undefined.
227
212
  return message;
228
213
  }
@@ -233,7 +218,14 @@ export function resolveDepositMessage(deposit) {
233
218
  * @returns a RelayData-like type which has hex 32 byte strings as fields.
234
219
  */
235
220
  export function convertRelayDataParamsToBytes32(relayData) {
236
- return __assign(__assign({}, relayData), { depositor: relayData.depositor.toBytes32(), recipient: relayData.recipient.toBytes32(), inputToken: relayData.inputToken.toBytes32(), outputToken: relayData.outputToken.toBytes32(), exclusiveRelayer: relayData.exclusiveRelayer.toBytes32() });
221
+ return {
222
+ ...relayData,
223
+ depositor: relayData.depositor.toBytes32(),
224
+ recipient: relayData.recipient.toBytes32(),
225
+ inputToken: relayData.inputToken.toBytes32(),
226
+ outputToken: relayData.outputToken.toBytes32(),
227
+ exclusiveRelayer: relayData.exclusiveRelayer.toBytes32(),
228
+ };
237
229
  }
238
230
  /**
239
231
  * Converts a Fill object with `Address` types as address fields to a `RelayData`-like object with
@@ -242,7 +234,19 @@ export function convertRelayDataParamsToBytes32(relayData) {
242
234
  * @returns a RelayData-like type which has hex 32 byte strings as fields.
243
235
  */
244
236
  export function convertFillParamsToBytes32(fill) {
245
- return __assign(__assign({}, fill), { depositor: fill.depositor.toBytes32(), recipient: fill.recipient.toBytes32(), inputToken: fill.inputToken.toBytes32(), outputToken: fill.outputToken.toBytes32(), exclusiveRelayer: fill.exclusiveRelayer.toBytes32(), relayer: fill.relayer.toBytes32(), relayExecutionInfo: __assign(__assign({}, fill.relayExecutionInfo), { updatedRecipient: fill.relayExecutionInfo.updatedRecipient.toBytes32() }) });
237
+ return {
238
+ ...fill,
239
+ depositor: fill.depositor.toBytes32(),
240
+ recipient: fill.recipient.toBytes32(),
241
+ inputToken: fill.inputToken.toBytes32(),
242
+ outputToken: fill.outputToken.toBytes32(),
243
+ exclusiveRelayer: fill.exclusiveRelayer.toBytes32(),
244
+ relayer: fill.relayer.toBytes32(),
245
+ relayExecutionInfo: {
246
+ ...fill.relayExecutionInfo,
247
+ updatedRecipient: fill.relayExecutionInfo.updatedRecipient.toBytes32(),
248
+ },
249
+ };
246
250
  }
247
251
  /**
248
252
  * Converts a RelayData object with `Address` types as address fields to a `RelayData`-like object with
@@ -251,7 +255,14 @@ export function convertFillParamsToBytes32(fill) {
251
255
  * @returns a RelayData-like type which has native address representation strings as fields.
252
256
  */
253
257
  export function convertRelayDataParamsToNative(relayData) {
254
- return __assign(__assign({}, relayData), { depositor: relayData.depositor.toNative(), recipient: relayData.recipient.toNative(), inputToken: relayData.inputToken.toNative(), outputToken: relayData.outputToken.toNative(), exclusiveRelayer: relayData.exclusiveRelayer.toNative() });
258
+ return {
259
+ ...relayData,
260
+ depositor: relayData.depositor.toNative(),
261
+ recipient: relayData.recipient.toNative(),
262
+ inputToken: relayData.inputToken.toNative(),
263
+ outputToken: relayData.outputToken.toNative(),
264
+ exclusiveRelayer: relayData.exclusiveRelayer.toNative(),
265
+ };
255
266
  }
256
267
  /**
257
268
  * Converts a Fill object with `Address` types as address fields to a `RelayData`-like object with
@@ -260,6 +271,18 @@ export function convertRelayDataParamsToNative(relayData) {
260
271
  * @returns a RelayData-like type which has native address representation strings as fields.
261
272
  */
262
273
  export function convertFillParamsToNative(fill) {
263
- return __assign(__assign({}, fill), { depositor: fill.depositor.toNative(), recipient: fill.recipient.toNative(), inputToken: fill.inputToken.toNative(), outputToken: fill.outputToken.toNative(), exclusiveRelayer: fill.exclusiveRelayer.toNative(), relayer: fill.relayer.toNative(), relayExecutionInfo: __assign(__assign({}, fill.relayExecutionInfo), { updatedRecipient: fill.relayExecutionInfo.updatedRecipient.toNative() }) });
274
+ return {
275
+ ...fill,
276
+ depositor: fill.depositor.toNative(),
277
+ recipient: fill.recipient.toNative(),
278
+ inputToken: fill.inputToken.toNative(),
279
+ outputToken: fill.outputToken.toNative(),
280
+ exclusiveRelayer: fill.exclusiveRelayer.toNative(),
281
+ relayer: fill.relayer.toNative(),
282
+ relayExecutionInfo: {
283
+ ...fill.relayExecutionInfo,
284
+ updatedRecipient: fill.relayExecutionInfo.updatedRecipient.toNative(),
285
+ },
286
+ };
264
287
  }
265
288
  //# sourceMappingURL=DepositUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DepositUtils.js","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DepositUtils.js","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,13 @@
1
- import { __assign, __awaiter, __generator, __spreadArray } from "tslib";
2
1
  import { delay } from "./common";
3
2
  import { isDefined, toBN } from "./";
4
- var maxRetries = 3;
5
- var retrySleepTime = 10;
3
+ const maxRetries = 3;
4
+ const retrySleepTime = 10;
6
5
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
6
  export function spreadEvent(args) {
8
- var keys = Object.keys(args).filter(function (key) { return isNaN(+key); }); // Extract non-numeric keys.
7
+ const keys = Object.keys(args).filter((key) => isNaN(+key)); // Extract non-numeric keys.
9
8
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
- var returnedObject = {};
11
- keys.forEach(function (key) {
9
+ const returnedObject = {};
10
+ keys.forEach((key) => {
12
11
  switch (typeof args[key]) {
13
12
  case "boolean": // fallthrough
14
13
  case "number":
@@ -18,7 +17,7 @@ export function spreadEvent(args) {
18
17
  case "object":
19
18
  if (Array.isArray(args[key])) {
20
19
  returnedObject[key] =
21
- Object.keys(args[key]).filter(function (key) { return isNaN(+key); }).length > 0
20
+ Object.keys(args[key]).filter((key) => isNaN(+key)).length > 0
22
21
  ? spreadEvent(args[key]) // Record/array hybrid...
23
22
  : args[key]; // Just an array
24
23
  }
@@ -62,47 +61,33 @@ export function spreadEvent(args) {
62
61
  }
63
62
  return returnedObject;
64
63
  }
65
- export var eventToLog = function (event) { return (__assign(__assign({}, event), { event: event.event, args: spreadEvent(event.args) })); };
66
- export function paginatedEventQuery(contract_1, filter_1, searchConfig_1) {
67
- return __awaiter(this, arguments, void 0, function (contract, filter, searchConfig, retryCount) {
68
- var events, paginatedRanges, error_1;
69
- if (retryCount === void 0) { retryCount = 0; }
70
- return __generator(this, function (_a) {
71
- switch (_a.label) {
72
- case 0:
73
- if (!(searchConfig.maxLookBack === 0)) return [3 /*break*/, 2];
74
- return [4 /*yield*/, contract.queryFilter(filter, searchConfig.from, searchConfig.to)];
75
- case 1:
76
- events = _a.sent();
77
- return [2 /*return*/, events.map(eventToLog)];
78
- case 2:
79
- paginatedRanges = getPaginatedBlockRanges(searchConfig);
80
- _a.label = 3;
81
- case 3:
82
- _a.trys.push([3, 5, , 10]);
83
- return [4 /*yield*/, Promise.all(paginatedRanges.map(function (_a) {
84
- var fromBlock = _a[0], toBlock = _a[1];
85
- return contract.queryFilter(filter, fromBlock, toBlock);
86
- }))];
87
- case 4: return [2 /*return*/, ((_a.sent())
88
- .flat()
89
- // Filter events by block number because ranges can include blocks that are outside the range specified for caching reasons.
90
- .filter(function (event) { return event.blockNumber >= searchConfig.from && event.blockNumber <= searchConfig.to; })
91
- .map(eventToLog))];
92
- case 5:
93
- error_1 = _a.sent();
94
- if (!(retryCount < maxRetries)) return [3 /*break*/, 8];
95
- return [4 /*yield*/, delay(retrySleepTime)];
96
- case 6:
97
- _a.sent();
98
- return [4 /*yield*/, paginatedEventQuery(contract, filter, searchConfig, retryCount + 1)];
99
- case 7: return [2 /*return*/, _a.sent()];
100
- case 8: throw error_1;
101
- case 9: return [3 /*break*/, 10];
102
- case 10: return [2 /*return*/];
103
- }
104
- });
105
- });
64
+ export const eventToLog = (event) => ({ ...event, event: event.event, args: spreadEvent(event.args) });
65
+ export async function paginatedEventQuery(contract, filter, searchConfig, retryCount = 0) {
66
+ // If the max block look back is set to 0 then we dont need to do any pagination and can query over the whole range.
67
+ if (searchConfig.maxLookBack === 0) {
68
+ const events = await contract.queryFilter(filter, searchConfig.from, searchConfig.to);
69
+ return events.map(eventToLog);
70
+ }
71
+ // Compute the number of queries needed. If there is no maxBlockLookBack set then we can execute the whole query in
72
+ // one go. Else, the number of queries is the range over which we are searching, divided by the maxBlockLookBack,
73
+ // rounded up. This gives us the number of queries we need to execute to traverse the whole block range.
74
+ const paginatedRanges = getPaginatedBlockRanges(searchConfig);
75
+ try {
76
+ return ((await Promise.all(paginatedRanges.map(([fromBlock, toBlock]) => contract.queryFilter(filter, fromBlock, toBlock))))
77
+ .flat()
78
+ // Filter events by block number because ranges can include blocks that are outside the range specified for caching reasons.
79
+ .filter((event) => event.blockNumber >= searchConfig.from && event.blockNumber <= searchConfig.to)
80
+ .map(eventToLog));
81
+ }
82
+ catch (error) {
83
+ if (retryCount < maxRetries) {
84
+ await delay(retrySleepTime);
85
+ return await paginatedEventQuery(contract, filter, searchConfig, retryCount + 1);
86
+ }
87
+ else {
88
+ throw error;
89
+ }
90
+ }
106
91
  }
107
92
  /**
108
93
  * @dev Warning: this is a specialized function!! Its functionality is not obvious.
@@ -118,11 +103,10 @@ export function paginatedEventQuery(contract_1, filter_1, searchConfig_1) {
118
103
  * input range, but can include blocks outside of the desired range, so results should be filtered. Results
119
104
  * are ordered from smallest to largest.
120
105
  */
121
- export function getPaginatedBlockRanges(_a) {
122
- var from = _a.from, to = _a.to, maxLookBack = _a.maxLookBack;
123
- var fromBlock = from;
124
- var toBlock = to;
125
- var maxBlockLookBack = maxLookBack;
106
+ export function getPaginatedBlockRanges({ from, to, maxLookBack }) {
107
+ const fromBlock = from;
108
+ const toBlock = to;
109
+ const maxBlockLookBack = maxLookBack;
126
110
  // If the maxBlockLookBack is undefined, we can look back as far as we like. Just return the entire range.
127
111
  if (maxBlockLookBack === undefined) {
128
112
  return [[fromBlock, toBlock]];
@@ -140,17 +124,17 @@ export function getPaginatedBlockRanges(_a) {
140
124
  // 0-19, 20-39, 40-45.
141
125
  // This allows us to get the max number of repeated node queries. The maximum number of "nonstandard" queries per
142
126
  // call of this function is 1.
143
- var flooredStartBlock = Math.floor(fromBlock / maxBlockLookBack) * maxBlockLookBack;
127
+ const flooredStartBlock = Math.floor(fromBlock / maxBlockLookBack) * maxBlockLookBack;
144
128
  // Note: range is inclusive, so we have to add one to the number of blocks to query.
145
- var iterations = Math.ceil((toBlock + 1 - flooredStartBlock) / maxBlockLookBack);
146
- var ranges = [];
147
- for (var i = 0; i < iterations; i++) {
129
+ const iterations = Math.ceil((toBlock + 1 - flooredStartBlock) / maxBlockLookBack);
130
+ const ranges = [];
131
+ for (let i = 0; i < iterations; i++) {
148
132
  // Each inner range start is just a multiple of the maxBlockLookBack added to the start block.
149
- var innerFromBlock = flooredStartBlock + maxBlockLookBack * i;
133
+ const innerFromBlock = flooredStartBlock + maxBlockLookBack * i;
150
134
  // The innerFromBlock is just the max range from the innerFromBlock or the outer toBlock, whichever is smaller.
151
135
  // The end block should never be larger than the outer toBlock. This is to avoid querying blocks that are in the
152
136
  // future.
153
- var innerToBlock = Math.min(innerFromBlock + maxBlockLookBack - 1, toBlock);
137
+ const innerToBlock = Math.min(innerFromBlock + maxBlockLookBack - 1, toBlock);
154
138
  ranges.push([innerFromBlock, innerToBlock]);
155
139
  }
156
140
  return ranges;
@@ -164,36 +148,35 @@ export function logToSortableEvent(log) {
164
148
  };
165
149
  }
166
150
  export function spreadEventWithBlockNumber(event) {
167
- return __assign(__assign({}, spreadEvent(event.args)), logToSortableEvent(event));
151
+ return {
152
+ ...spreadEvent(event.args),
153
+ ...logToSortableEvent(event),
154
+ };
168
155
  }
169
156
  // This copies the array and sorts it, returning a new array with the new ordering.
170
157
  export function sortEventsAscending(events) {
171
- return sortEventsAscendingInPlace(__spreadArray([], events, true));
158
+ return sortEventsAscendingInPlace([...events]);
172
159
  }
173
160
  // This sorts the events in place, meaning it modifies the passed array and returns a reference to the same array.
174
161
  // Note: this method should only be used in cases where modifications are acceptable.
175
162
  export function sortEventsAscendingInPlace(events) {
176
- return events.sort(function (ex, ey) {
177
- return ex.blockNumber === ey.blockNumber ? ex.logIndex - ey.logIndex : ex.blockNumber - ey.blockNumber;
178
- });
163
+ return events.sort((ex, ey) => ex.blockNumber === ey.blockNumber ? ex.logIndex - ey.logIndex : ex.blockNumber - ey.blockNumber);
179
164
  }
180
165
  // This copies the array and sorts it, returning a new array with the new ordering.
181
166
  export function sortEventsDescending(events) {
182
- return sortEventsDescendingInPlace(__spreadArray([], events, true));
167
+ return sortEventsDescendingInPlace([...events]);
183
168
  }
184
169
  // This sorts the events in place, meaning it modifies the passed array and returns a reference to the same array.
185
170
  // Note: this method should only be used in cases where modifications are acceptable.
186
171
  export function sortEventsDescendingInPlace(events) {
187
- return events.sort(function (ex, ey) {
188
- return ex.blockNumber === ey.blockNumber ? ey.logIndex - ex.logIndex : ey.blockNumber - ex.blockNumber;
189
- });
172
+ return events.sort((ex, ey) => ex.blockNumber === ey.blockNumber ? ey.logIndex - ex.logIndex : ey.blockNumber - ex.blockNumber);
190
173
  }
191
174
  // Returns true if ex is older than ey.
192
175
  export function isEventOlder(ex, ey) {
193
176
  return ex.blockNumber === ey.blockNumber ? ex.logIndex < ey.logIndex : ex.blockNumber < ey.blockNumber;
194
177
  }
195
178
  export function getTransactionRefs(events) {
196
- return __spreadArray([], Array.from(new Set(events.map(function (e) { return e.txnRef; }))), true);
179
+ return [...Array.from(new Set(events.map((e) => e.txnRef)))];
197
180
  }
198
181
  export function duplicateEvent(a, b) {
199
182
  return a.txnRef === b.txnRef && a.logIndex === b.logIndex;
@@ -1 +1 @@
1
- {"version":3,"file":"EventUtils.js","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventUtils.js","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":"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"}