@across-protocol/sdk 4.3.44-alpha.0 → 4.3.45

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 (439) hide show
  1. package/dist/cjs/addressAggregator/adapters/abstract.js +4 -4
  2. package/dist/cjs/addressAggregator/adapters/abstract.js.map +1 -1
  3. package/dist/cjs/addressAggregator/adapters/bybit.js.map +1 -1
  4. package/dist/cjs/addressAggregator/adapters/env.js.map +1 -1
  5. package/dist/cjs/addressAggregator/adapters/file.js.map +1 -1
  6. package/dist/cjs/addressAggregator/adapters/risklabs.js.map +1 -1
  7. package/dist/cjs/addressAggregator/index.js +1 -1
  8. package/dist/cjs/addressAggregator/index.js.map +1 -1
  9. package/dist/cjs/apiClient/index.js +5 -3
  10. package/dist/cjs/apiClient/index.js.map +1 -1
  11. package/dist/cjs/apiClient/mockedClient.js.map +1 -1
  12. package/dist/cjs/apiClient/productionClient.js.map +1 -1
  13. package/dist/cjs/arch/evm/BlockUtils.js +17 -17
  14. package/dist/cjs/arch/evm/BlockUtils.js.map +1 -1
  15. package/dist/cjs/arch/evm/SpokeUtils.js +17 -16
  16. package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
  17. package/dist/cjs/arch/evm/utils/wait.js +2 -2
  18. package/dist/cjs/arch/evm/utils/wait.js.map +1 -1
  19. package/dist/cjs/arch/svm/BlockUtils.js +14 -14
  20. package/dist/cjs/arch/svm/BlockUtils.js.map +1 -1
  21. package/dist/cjs/arch/svm/SpokeUtils.d.ts +7 -5
  22. package/dist/cjs/arch/svm/SpokeUtils.js +47 -51
  23. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  24. package/dist/cjs/arch/svm/eventsClient.js +18 -18
  25. package/dist/cjs/arch/svm/eventsClient.js.map +1 -1
  26. package/dist/cjs/arch/svm/utils.d.ts +5 -4
  27. package/dist/cjs/arch/svm/utils.js +34 -32
  28. package/dist/cjs/arch/svm/utils.js.map +1 -1
  29. package/dist/cjs/caching/Arweave/ArweaveClient.js +13 -13
  30. package/dist/cjs/caching/Arweave/ArweaveClient.js.map +1 -1
  31. package/dist/cjs/caching/IPFS/PinataIPFSClient.js.map +1 -1
  32. package/dist/cjs/caching/Memory/MemoryCacheClient.js.map +1 -1
  33. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +14 -14
  34. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  35. package/dist/cjs/clients/BaseAbstractClient.js +2 -2
  36. package/dist/cjs/clients/BaseAbstractClient.js.map +1 -1
  37. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +4 -4
  38. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  39. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +11 -8
  40. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  41. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +8 -2
  42. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  43. package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js +2 -1
  44. package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
  45. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +14 -12
  46. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  47. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +10 -10
  48. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
  49. package/dist/cjs/clients/HubPoolClient.d.ts +3 -9
  50. package/dist/cjs/clients/HubPoolClient.js +70 -95
  51. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  52. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  53. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +3 -3
  54. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +6 -6
  55. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  56. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +27 -26
  57. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  58. package/dist/cjs/clients/SpokePoolClient/index.js +3 -3
  59. package/dist/cjs/clients/SpokePoolClient/index.js.map +1 -1
  60. package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -1
  61. package/dist/cjs/clients/mocks/MockEvents.js +2 -2
  62. package/dist/cjs/clients/mocks/MockEvents.js.map +1 -1
  63. package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +2 -2
  64. package/dist/cjs/clients/mocks/MockHubPoolClient.js +1 -1
  65. package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
  66. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  67. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
  68. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +1 -1
  69. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
  70. package/dist/cjs/coingecko/Coingecko.js +22 -22
  71. package/dist/cjs/coingecko/Coingecko.js.map +1 -1
  72. package/dist/cjs/constants.d.ts +1 -7
  73. package/dist/cjs/contracts/acrossConfigStore.js +6 -6
  74. package/dist/cjs/contracts/acrossConfigStore.js.map +1 -1
  75. package/dist/cjs/contracts/hubPool.js +4 -4
  76. package/dist/cjs/contracts/hubPool.js.map +1 -1
  77. package/dist/cjs/contracts/utils.js +2 -1
  78. package/dist/cjs/contracts/utils.js.map +1 -1
  79. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js +2 -1
  80. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  81. package/dist/cjs/gasPriceOracle/adapters/ethereum.js +4 -3
  82. package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -1
  83. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js +9 -8
  84. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  85. package/dist/cjs/gasPriceOracle/adapters/polygon.js +6 -6
  86. package/dist/cjs/gasPriceOracle/adapters/polygon.js.map +1 -1
  87. package/dist/cjs/gasPriceOracle/adapters/solana.js +2 -1
  88. package/dist/cjs/gasPriceOracle/adapters/solana.js.map +1 -1
  89. package/dist/cjs/gasPriceOracle/oracle.js +15 -14
  90. package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
  91. package/dist/cjs/gasPriceOracle/types.js +3 -2
  92. package/dist/cjs/gasPriceOracle/types.js.map +1 -1
  93. package/dist/cjs/gasPriceOracle/util.js +3 -2
  94. package/dist/cjs/gasPriceOracle/util.js.map +1 -1
  95. package/dist/cjs/interfaces/SpokePool.d.ts +3 -0
  96. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js +5 -5
  97. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
  98. package/dist/cjs/lpFeeCalculator/rateModel.js.map +1 -1
  99. package/dist/cjs/pool/poolClient.d.ts +4 -4
  100. package/dist/cjs/pool/poolClient.js +23 -23
  101. package/dist/cjs/pool/poolClient.js.map +1 -1
  102. package/dist/cjs/priceClient/adapters/acrossApi.js +3 -3
  103. package/dist/cjs/priceClient/adapters/acrossApi.js.map +1 -1
  104. package/dist/cjs/priceClient/adapters/baseAdapter.js +1 -1
  105. package/dist/cjs/priceClient/adapters/coingecko.js +6 -6
  106. package/dist/cjs/priceClient/adapters/coingecko.js.map +1 -1
  107. package/dist/cjs/priceClient/adapters/default.js.map +1 -1
  108. package/dist/cjs/priceClient/adapters/defiLlama.js +6 -6
  109. package/dist/cjs/priceClient/adapters/defiLlama.js.map +1 -1
  110. package/dist/cjs/priceClient/priceClient.js +8 -8
  111. package/dist/cjs/priceClient/priceClient.js.map +1 -1
  112. package/dist/cjs/providers/alchemy.js +2 -1
  113. package/dist/cjs/providers/alchemy.js.map +1 -1
  114. package/dist/cjs/providers/cachedProvider.d.ts +1 -1
  115. package/dist/cjs/providers/cachedProvider.js +10 -10
  116. package/dist/cjs/providers/cachedProvider.js.map +1 -1
  117. package/dist/cjs/providers/drpc.js +2 -1
  118. package/dist/cjs/providers/drpc.js.map +1 -1
  119. package/dist/cjs/providers/infura.js +2 -1
  120. package/dist/cjs/providers/infura.js.map +1 -1
  121. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
  122. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
  123. package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
  124. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js +26 -24
  125. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js.map +1 -1
  126. package/dist/cjs/providers/mocks/mockEthersProvider.js.map +1 -1
  127. package/dist/cjs/providers/quicknode.js +2 -1
  128. package/dist/cjs/providers/quicknode.js.map +1 -1
  129. package/dist/cjs/providers/rateLimitedProvider.js +14 -12
  130. package/dist/cjs/providers/rateLimitedProvider.js.map +1 -1
  131. package/dist/cjs/providers/retryProvider.js +5 -5
  132. package/dist/cjs/providers/retryProvider.js.map +1 -1
  133. package/dist/cjs/providers/solana/baseRpcFactories.js.map +1 -1
  134. package/dist/cjs/providers/solana/cachedRpcFactory.js +6 -6
  135. package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -1
  136. package/dist/cjs/providers/solana/defaultRpcFactory.js.map +1 -1
  137. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
  138. package/dist/cjs/providers/solana/rateLimitedRpcFactory.d.ts +5 -2
  139. package/dist/cjs/providers/solana/rateLimitedRpcFactory.js +14 -12
  140. package/dist/cjs/providers/solana/rateLimitedRpcFactory.js.map +1 -1
  141. package/dist/cjs/providers/solana/retryRpcFactory.js +1 -1
  142. package/dist/cjs/providers/solana/retryRpcFactory.js.map +1 -1
  143. package/dist/cjs/providers/speedProvider.js.map +1 -1
  144. package/dist/cjs/providers/utils.d.ts +1 -1
  145. package/dist/cjs/providers/utils.js +9 -9
  146. package/dist/cjs/providers/utils.js.map +1 -1
  147. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +13 -13
  148. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  149. package/dist/cjs/relayFeeCalculator/chain-queries/customGasToken.js.map +1 -1
  150. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  151. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +7 -1
  152. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +7 -7
  153. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  154. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +11 -11
  155. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  156. package/dist/cjs/utils/AddressUtils.js +8 -8
  157. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  158. package/dist/cjs/utils/ArrayUtils.js +14 -13
  159. package/dist/cjs/utils/ArrayUtils.js.map +1 -1
  160. package/dist/cjs/utils/BigNumberUtils.js +3 -3
  161. package/dist/cjs/utils/BigNumberUtils.js.map +1 -1
  162. package/dist/cjs/utils/BlockExplorerUtils.js +29 -18
  163. package/dist/cjs/utils/BlockExplorerUtils.js.map +1 -1
  164. package/dist/cjs/utils/BlockUtils.js +2 -1
  165. package/dist/cjs/utils/BlockUtils.js.map +1 -1
  166. package/dist/cjs/utils/BundleUtils.js +4 -3
  167. package/dist/cjs/utils/BundleUtils.js.map +1 -1
  168. package/dist/cjs/utils/CachingUtils.js +9 -8
  169. package/dist/cjs/utils/CachingUtils.js.map +1 -1
  170. package/dist/cjs/utils/ContractUtils.js +2 -1
  171. package/dist/cjs/utils/ContractUtils.js.map +1 -1
  172. package/dist/cjs/utils/DepositUtils.js +16 -16
  173. package/dist/cjs/utils/DepositUtils.js.map +1 -1
  174. package/dist/cjs/utils/EventUtils.js +16 -16
  175. package/dist/cjs/utils/EventUtils.js.map +1 -1
  176. package/dist/cjs/utils/FormattingUtils.d.ts +2 -2
  177. package/dist/cjs/utils/FormattingUtils.js +12 -12
  178. package/dist/cjs/utils/FormattingUtils.js.map +1 -1
  179. package/dist/cjs/utils/IPFSUtils.js +4 -3
  180. package/dist/cjs/utils/IPFSUtils.js.map +1 -1
  181. package/dist/cjs/utils/JSONUtils.js +7 -6
  182. package/dist/cjs/utils/JSONUtils.js.map +1 -1
  183. package/dist/cjs/utils/LogUtils.js +2 -2
  184. package/dist/cjs/utils/LogUtils.js.map +1 -1
  185. package/dist/cjs/utils/Multicall.js +7 -6
  186. package/dist/cjs/utils/Multicall.js.map +1 -1
  187. package/dist/cjs/utils/NetworkUtils.js +18 -18
  188. package/dist/cjs/utils/NetworkUtils.js.map +1 -1
  189. package/dist/cjs/utils/NumberUtils.js +4 -3
  190. package/dist/cjs/utils/NumberUtils.js.map +1 -1
  191. package/dist/cjs/utils/ObjectUtils.js +9 -8
  192. package/dist/cjs/utils/ObjectUtils.js.map +1 -1
  193. package/dist/cjs/utils/Profiler.js.map +1 -1
  194. package/dist/cjs/utils/ReviverUtils.js +3 -2
  195. package/dist/cjs/utils/ReviverUtils.js.map +1 -1
  196. package/dist/cjs/utils/SpokeUtils.js +9 -7
  197. package/dist/cjs/utils/SpokeUtils.js.map +1 -1
  198. package/dist/cjs/utils/TimeUtils.js +2 -1
  199. package/dist/cjs/utils/TimeUtils.js.map +1 -1
  200. package/dist/cjs/utils/TokenUtils.js +10 -10
  201. package/dist/cjs/utils/TokenUtils.js.map +1 -1
  202. package/dist/cjs/utils/TypeGuards.js +5 -4
  203. package/dist/cjs/utils/TypeGuards.js.map +1 -1
  204. package/dist/cjs/utils/ValidatorUtils.js +2 -1
  205. package/dist/cjs/utils/ValidatorUtils.js.map +1 -1
  206. package/dist/cjs/utils/abi/contracts/index.js +4 -2
  207. package/dist/cjs/utils/abi/contracts/index.js.map +1 -1
  208. package/dist/cjs/utils/abi/index.js +3 -2
  209. package/dist/cjs/utils/abi/index.js.map +1 -1
  210. package/dist/cjs/utils/common.js +9 -9
  211. package/dist/cjs/utils/common.js.map +1 -1
  212. package/dist/esm/addressAggregator/adapters/abstract.js +4 -4
  213. package/dist/esm/addressAggregator/adapters/abstract.js.map +1 -1
  214. package/dist/esm/addressAggregator/adapters/bybit.js.map +1 -1
  215. package/dist/esm/addressAggregator/adapters/env.js.map +1 -1
  216. package/dist/esm/addressAggregator/adapters/file.js.map +1 -1
  217. package/dist/esm/addressAggregator/adapters/risklabs.js.map +1 -1
  218. package/dist/esm/addressAggregator/index.js +1 -1
  219. package/dist/esm/addressAggregator/index.js.map +1 -1
  220. package/dist/esm/apiClient/mockedClient.js.map +1 -1
  221. package/dist/esm/apiClient/productionClient.js.map +1 -1
  222. package/dist/esm/arch/evm/BlockUtils.js +15 -15
  223. package/dist/esm/arch/evm/BlockUtils.js.map +1 -1
  224. package/dist/esm/arch/evm/SpokeUtils.js +6 -6
  225. package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
  226. package/dist/esm/arch/evm/utils/wait.js.map +1 -1
  227. package/dist/esm/arch/svm/BlockUtils.js +12 -12
  228. package/dist/esm/arch/svm/BlockUtils.js.map +1 -1
  229. package/dist/esm/arch/svm/SpokeUtils.d.ts +7 -5
  230. package/dist/esm/arch/svm/SpokeUtils.js +31 -33
  231. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  232. package/dist/esm/arch/svm/eventsClient.js +18 -18
  233. package/dist/esm/arch/svm/eventsClient.js.map +1 -1
  234. package/dist/esm/arch/svm/utils.d.ts +5 -4
  235. package/dist/esm/arch/svm/utils.js +16 -14
  236. package/dist/esm/arch/svm/utils.js.map +1 -1
  237. package/dist/esm/caching/Arweave/ArweaveClient.js +13 -13
  238. package/dist/esm/caching/Arweave/ArweaveClient.js.map +1 -1
  239. package/dist/esm/caching/IPFS/PinataIPFSClient.js.map +1 -1
  240. package/dist/esm/caching/Memory/MemoryCacheClient.js.map +1 -1
  241. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +14 -14
  242. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  243. package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
  244. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +4 -4
  245. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  246. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +7 -5
  247. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  248. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +6 -1
  249. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  250. package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
  251. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +4 -3
  252. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  253. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +10 -10
  254. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
  255. package/dist/esm/clients/HubPoolClient.d.ts +3 -9
  256. package/dist/esm/clients/HubPoolClient.js +74 -101
  257. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  258. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +1 -1
  259. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  260. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +3 -3
  261. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +11 -10
  262. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  263. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +27 -26
  264. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  265. package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
  266. package/dist/esm/clients/mocks/MockEvents.js.map +1 -1
  267. package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +2 -2
  268. package/dist/esm/clients/mocks/MockHubPoolClient.js +1 -1
  269. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
  270. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  271. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
  272. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +1 -1
  273. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
  274. package/dist/esm/coingecko/Coingecko.js +20 -20
  275. package/dist/esm/coingecko/Coingecko.js.map +1 -1
  276. package/dist/esm/constants.d.ts +1 -7
  277. package/dist/esm/contracts/acrossConfigStore.js +9 -9
  278. package/dist/esm/contracts/acrossConfigStore.js.map +1 -1
  279. package/dist/esm/contracts/hubPool.js.map +1 -1
  280. package/dist/esm/gasPriceOracle/adapters/linea-viem.js +7 -7
  281. package/dist/esm/gasPriceOracle/adapters/polygon.js +4 -4
  282. package/dist/esm/gasPriceOracle/adapters/polygon.js.map +1 -1
  283. package/dist/esm/gasPriceOracle/oracle.js +12 -12
  284. package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
  285. package/dist/esm/interfaces/SpokePool.d.ts +3 -0
  286. package/dist/esm/lpFeeCalculator/rateModel.js.map +1 -1
  287. package/dist/esm/pool/poolClient.d.ts +4 -4
  288. package/dist/esm/pool/poolClient.js +19 -19
  289. package/dist/esm/pool/poolClient.js.map +1 -1
  290. package/dist/esm/priceClient/adapters/acrossApi.js +3 -3
  291. package/dist/esm/priceClient/adapters/acrossApi.js.map +1 -1
  292. package/dist/esm/priceClient/adapters/baseAdapter.js +1 -1
  293. package/dist/esm/priceClient/adapters/coingecko.js +6 -6
  294. package/dist/esm/priceClient/adapters/coingecko.js.map +1 -1
  295. package/dist/esm/priceClient/adapters/default.js.map +1 -1
  296. package/dist/esm/priceClient/adapters/defiLlama.js +6 -6
  297. package/dist/esm/priceClient/adapters/defiLlama.js.map +1 -1
  298. package/dist/esm/priceClient/priceClient.js +6 -6
  299. package/dist/esm/priceClient/priceClient.js.map +1 -1
  300. package/dist/esm/providers/alchemy.js.map +1 -1
  301. package/dist/esm/providers/cachedProvider.d.ts +1 -1
  302. package/dist/esm/providers/cachedProvider.js +10 -10
  303. package/dist/esm/providers/cachedProvider.js.map +1 -1
  304. package/dist/esm/providers/drpc.js.map +1 -1
  305. package/dist/esm/providers/infura.js.map +1 -1
  306. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
  307. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
  308. package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
  309. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js +26 -24
  310. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js.map +1 -1
  311. package/dist/esm/providers/mocks/mockEthersProvider.js.map +1 -1
  312. package/dist/esm/providers/quicknode.js.map +1 -1
  313. package/dist/esm/providers/rateLimitedProvider.js +16 -14
  314. package/dist/esm/providers/rateLimitedProvider.js.map +1 -1
  315. package/dist/esm/providers/retryProvider.js +7 -6
  316. package/dist/esm/providers/retryProvider.js.map +1 -1
  317. package/dist/esm/providers/solana/baseRpcFactories.js.map +1 -1
  318. package/dist/esm/providers/solana/cachedRpcFactory.js +7 -7
  319. package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -1
  320. package/dist/esm/providers/solana/defaultRpcFactory.js.map +1 -1
  321. package/dist/esm/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
  322. package/dist/esm/providers/solana/rateLimitedRpcFactory.d.ts +5 -2
  323. package/dist/esm/providers/solana/rateLimitedRpcFactory.js +16 -14
  324. package/dist/esm/providers/solana/rateLimitedRpcFactory.js.map +1 -1
  325. package/dist/esm/providers/solana/retryRpcFactory.js +1 -1
  326. package/dist/esm/providers/solana/retryRpcFactory.js.map +1 -1
  327. package/dist/esm/providers/speedProvider.js +2 -1
  328. package/dist/esm/providers/speedProvider.js.map +1 -1
  329. package/dist/esm/providers/utils.d.ts +4 -4
  330. package/dist/esm/providers/utils.js +8 -8
  331. package/dist/esm/providers/utils.js.map +1 -1
  332. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +16 -16
  333. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  334. package/dist/esm/relayFeeCalculator/chain-queries/customGasToken.js.map +1 -1
  335. package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  336. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +7 -1
  337. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +7 -7
  338. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  339. package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +10 -0
  340. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +9 -9
  341. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  342. package/dist/esm/utils/AddressUtils.js.map +1 -1
  343. package/dist/esm/utils/ArrayUtils.js.map +1 -1
  344. package/dist/esm/utils/BigNumberUtils.js.map +1 -1
  345. package/dist/esm/utils/BlockExplorerUtils.js +27 -19
  346. package/dist/esm/utils/BlockExplorerUtils.js.map +1 -1
  347. package/dist/esm/utils/BlockUtils.js.map +1 -1
  348. package/dist/esm/utils/BundleUtils.js.map +1 -1
  349. package/dist/esm/utils/CachingUtils.js +4 -4
  350. package/dist/esm/utils/CachingUtils.js.map +1 -1
  351. package/dist/esm/utils/DepositUtils.d.ts +3 -3
  352. package/dist/esm/utils/DepositUtils.js +1 -1
  353. package/dist/esm/utils/DepositUtils.js.map +1 -1
  354. package/dist/esm/utils/EventUtils.js +3 -3
  355. package/dist/esm/utils/EventUtils.js.map +1 -1
  356. package/dist/esm/utils/FormattingUtils.d.ts +4 -4
  357. package/dist/esm/utils/FormattingUtils.js +4 -4
  358. package/dist/esm/utils/FormattingUtils.js.map +1 -1
  359. package/dist/esm/utils/JSONUtils.js.map +1 -1
  360. package/dist/esm/utils/LogUtils.js.map +1 -1
  361. package/dist/esm/utils/Multicall.js +1 -1
  362. package/dist/esm/utils/Multicall.js.map +1 -1
  363. package/dist/esm/utils/NetworkUtils.js.map +1 -1
  364. package/dist/esm/utils/ObjectUtils.js.map +1 -1
  365. package/dist/esm/utils/Profiler.js.map +1 -1
  366. package/dist/esm/utils/ReviverUtils.js.map +1 -1
  367. package/dist/esm/utils/SpokeUtils.js +2 -1
  368. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  369. package/dist/esm/utils/TokenUtils.js.map +1 -1
  370. package/dist/esm/utils/common.js.map +1 -1
  371. package/dist/types/addressAggregator/index.d.ts.map +1 -1
  372. package/dist/types/arch/svm/BlockUtils.d.ts.map +1 -1
  373. package/dist/types/arch/svm/SpokeUtils.d.ts +7 -5
  374. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  375. package/dist/types/arch/svm/eventsClient.d.ts.map +1 -1
  376. package/dist/types/arch/svm/utils.d.ts +5 -4
  377. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  378. package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -1
  379. package/dist/types/clients/BaseAbstractClient.d.ts.map +1 -1
  380. package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts.map +1 -1
  381. package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts.map +1 -1
  382. package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts.map +1 -1
  383. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +10 -10
  384. package/dist/types/clients/HubPoolClient.d.ts +3 -9
  385. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  386. package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +3 -3
  387. package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -1
  388. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
  389. package/dist/types/clients/mocks/MockConfigStoreClient.d.ts.map +1 -1
  390. package/dist/types/clients/mocks/MockHubPoolClient.d.ts +2 -2
  391. package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
  392. package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts.map +1 -1
  393. package/dist/types/coingecko/Coingecko.d.ts.map +1 -1
  394. package/dist/types/constants.d.ts +1 -7
  395. package/dist/types/constants.d.ts.map +1 -1
  396. package/dist/types/interfaces/SpokePool.d.ts +3 -0
  397. package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
  398. package/dist/types/lpFeeCalculator/rateModel.d.ts.map +1 -1
  399. package/dist/types/pool/TransactionManager.d.ts.map +1 -1
  400. package/dist/types/pool/poolClient.d.ts +4 -4
  401. package/dist/types/pool/poolClient.d.ts.map +1 -1
  402. package/dist/types/providers/cachedProvider.d.ts +1 -1
  403. package/dist/types/providers/cachedProvider.d.ts.map +1 -1
  404. package/dist/types/providers/retryProvider.d.ts.map +1 -1
  405. package/dist/types/providers/solana/cachedRpcFactory.d.ts.map +1 -1
  406. package/dist/types/providers/solana/rateLimitedRpcFactory.d.ts +5 -2
  407. package/dist/types/providers/solana/rateLimitedRpcFactory.d.ts.map +1 -1
  408. package/dist/types/providers/utils.d.ts +4 -4
  409. package/dist/types/providers/utils.d.ts.map +1 -1
  410. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
  411. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +7 -1
  412. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
  413. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +10 -0
  414. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
  415. package/dist/types/typeguards/error.d.ts.map +1 -1
  416. package/dist/types/utils/BigNumberUtils.d.ts.map +1 -1
  417. package/dist/types/utils/BlockExplorerUtils.d.ts.map +1 -1
  418. package/dist/types/utils/DepositUtils.d.ts +3 -3
  419. package/dist/types/utils/DepositUtils.d.ts.map +1 -1
  420. package/dist/types/utils/EventUtils.d.ts.map +1 -1
  421. package/dist/types/utils/FormattingUtils.d.ts +4 -4
  422. package/dist/types/utils/FormattingUtils.d.ts.map +1 -1
  423. package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
  424. package/dist/types/utils/TokenUtils.d.ts.map +1 -1
  425. package/dist/types/utils/common.d.ts.map +1 -1
  426. package/package.json +3 -4
  427. package/src/arch/svm/SpokeUtils.ts +26 -11
  428. package/src/arch/svm/utils.ts +6 -5
  429. package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +14 -20
  430. package/src/clients/BundleDataClient/utils/FillUtils.ts +7 -1
  431. package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +2 -0
  432. package/src/clients/HubPoolClient.ts +50 -79
  433. package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +3 -3
  434. package/src/clients/SpokePoolClient/SpokePoolClient.ts +15 -11
  435. package/src/clients/mocks/MockHubPoolClient.ts +3 -3
  436. package/src/interfaces/SpokePool.ts +4 -0
  437. package/src/utils/BlockExplorerUtils.ts +25 -18
  438. package/src/utils/FormattingUtils.ts +4 -4
  439. package/src/utils/SpokeUtils.ts +2 -1
@@ -8,9 +8,9 @@ export declare const formatFeePct: (relayerFeePct: BN) => string;
8
8
  * @param maxLength The maximum length of the shortened string. Defaults to 8.
9
9
  * @param delimiter The delimiter to use in the middle of the shortened string. Defaults to "...".
10
10
  * @returns The shortened hexadecimal string.
11
- * @example createShortHexString("0x772871a444c6e4e9903d8533a5a13101b74037158123e6709470f0afbf6e7d94") -> "0x7787...7d94"
11
+ * @example createShortenedString("0x772871a444c6e4e9903d8533a5a13101b74037158123e6709470f0afbf6e7d94") -> "0x7787...7d94"
12
12
  */
13
- export declare function createShortHexString(hex: string, maxLength?: number, delimiter?: string): string;
13
+ export declare function createShortenedString(hex: string, maxLength?: number, delimiter?: string): string;
14
14
  /**
15
15
  * Converts a utf8 string to a hex string.
16
16
  * @param input The utf8 string to convert.
@@ -42,11 +42,11 @@ export declare function formatGwei(weiVal: string): string;
42
42
  * Shortens a list of addresses to a shorter version with only the first 10 characters.
43
43
  * @param addresses A list of addresses to shorten.
44
44
  * @returns A list of shortened addresses.
45
- * @see createShortHexString
45
+ * @see createShortenedString
46
46
  */
47
47
  export declare function shortenHexStrings(addresses: string[]): string[];
48
48
  export declare const formatWei: (num: string | BN) => string;
49
- export declare const ConvertDecimals: (fromDecimals: number, toDecimals: number) => ((amountIn: string | number | BN) => BN);
49
+ export declare const ConvertDecimals: (fromDecimals: number, toDecimals: number) => (amountIn: string | number | BN) => BN;
50
50
  /**
51
51
  * Converts a numeric decimal-inclusive string to winston, the base unit of Arweave
52
52
  * @param numericString The numeric string to convert
@@ -1 +1 @@
1
- {"version":3,"file":"FormattingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/FormattingUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,SAAS,IAAI,eAAe,EAAE,EAAE,EAAoB,MAAM,kBAAkB,CAAC;AAOnG,eAAO,MAAM,qBAAqB,GAChC,KAAK,MAAM,GAAG,MAAM,EACpB,eAAe,MAAM,EACrB,cAAc,MAAM,EACpB,SAAS,OAAO,EAChB,UAAU,OAAO,KAChB,MAsBF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,sBAAsB,MAAM,EAC5B,uBAAuB,MAAM,EAC7B,kBAAgB,EAChB,iBAAa,MAEL,UAAU,MAAM,GAAG,EAAE,KAAG,MAQjC,CAAC;AACF,eAAO,MAAM,YAAY,GAAI,eAAe,EAAE,KAAG,MAGhD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAI,EAAE,SAAS,SAAO,GAAG,MAAM,CAqBzF;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE/D;AAGD,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,GAAG,EAAE,KAAG,MAK5C,CAAC;AAUF,eAAO,MAAM,eAAe,GAAI,cAAc,MAAM,EAAE,YAAY,MAAM,KAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,EAAE,KAAK,EAAE,CAajH,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG,MAAM,CAEnE"}
1
+ {"version":3,"file":"FormattingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/FormattingUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,SAAS,IAAI,eAAe,EAAE,EAAE,EAAoB,MAAM,kBAAkB,CAAC;AAOnG,eAAO,MAAM,qBAAqB,QAC3B,MAAM,GAAG,MAAM,iBACL,MAAM,gBACP,MAAM,WACX,OAAO,YACN,OAAO,KAChB,MAsBF,CAAC;AAEF,eAAO,MAAM,oBAAoB,yBACT,MAAM,yBACL,MAAM,uDAIX,MAAM,GAAG,EAAE,KAAG,MAQjC,CAAC;AACF,eAAO,MAAM,YAAY,kBAAmB,EAAE,KAAG,MAGhD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAI,EAAE,SAAS,SAAO,GAAG,MAAM,CAqB1F;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE/D;AAGD,eAAO,MAAM,SAAS,QAAS,MAAM,GAAG,EAAE,KAAG,MAK5C,CAAC;AAUF,eAAO,MAAM,eAAe,iBAAkB,MAAM,cAAc,MAAM,gBAAe,MAAM,GAAG,MAAM,GAAG,EAAE,KAAK,EAa/G,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG,MAAM,CAEnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAY,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAE9C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAGrE;AACD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAkCzF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,GAAG;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQ/D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAY,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAE9C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAGrE;AACD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAmCzF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,GAAG;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQ/D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAiB,MAAM,gBAAgB,CAAC;AAGpE,KAAK,gBAAgB,GAAG,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;AAEpD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAI9G;AAED,eAAO,MAAM,mBAAmB,GAC9B,gBAAgB,MAAM,EACtB,kBAA6B,KAC5B;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,SAIlC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAa/E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,SAAS,MAAM,EACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,KAC/B,MAAM,GAAG,SAIX,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGrF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,GAAE,QAAmB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAI1D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoB,GAAG,SAAS,CAe3G;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMnF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAetF"}
1
+ {"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAiC,MAAM,kBAAkB,CAAC;AAG9F,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACnD,eAAO,MAAM,WAAW,+CAA+B,CAAC;AACxD,eAAO,MAAM,WAAW,kBAAqD,CAAC;AAE9E,eAAO,MAAQ,SAAS,+BAAiB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,QAAS,YAAY,aAAa,MAAM,KAAG,EAA0C,CAAC;AAE1G;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,QAAS,YAAY,aAAa,MAAM,KAAG,MAA+C,CAAC;AAE/G;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,EAAE,CAIxD;AACD;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,EAAE,CAIxD;AAED,eAAO,MAAM,oBAAoB,kBAAe,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,YAAY,EACxB,KAAK,GAAE,MAAM,GAAG,MAAU,EAC1B,UAAU,SAAK,EACf,cAAc,SAAK,GAClB,MAAM,CAIR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,QAAS,YAAY,YAAY,YAAY,KAAG,SAEnE,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,YAAY,EACtB,KAAK,GAAE,MAAM,GAAG,MAAU,EAC1B,QAAQ,SAAK,GACZ,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,GAAG,EAAE,CAE9E;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B,gBAC5B,UAAU,aACZ,UAAU,kBACL,UAAU,kBACV,UAAU,KACzB,MAGF,CAAC;AACF;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,gBAC1B,UAAU,aACZ,UAAU,kBACL,UAAU,kBACV,UAAU,KACzB,MAaF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,gBACL,UAAU,aACZ,UAAU,kBACL,UAAU,kBACV,UAAU,KACzB,MAEF,CAAC;AACF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,QAAS,MAAM,OAAO,MAAM,QAAQ,MAAM,eAYvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,oBAEpC;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAQ1F;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEF,wBAAgB,aAAa,WAE5B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@across-protocol/sdk",
3
3
  "author": "UMA Team",
4
- "version": "4.3.44-alpha.0",
4
+ "version": "4.3.45",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -10,7 +10,7 @@
10
10
  "src"
11
11
  ],
12
12
  "engines": {
13
- "node": ">=22.16"
13
+ "node": ">=20.19.2"
14
14
  },
15
15
  "scripts": {
16
16
  "build-bigint-buffer": "node scripts/build-bigint-buffer.js",
@@ -34,7 +34,7 @@
34
34
  "bump-version:minor": "yarn version --minor --no-git-tag-version --no-commit-hooks && git commit -m 'chore: bump version' ./package.json --no-verify",
35
35
  "bump-version:patch": "yarn version --patch --no-git-tag-version --no-commit-hooks && git commit -m 'chore: bump version' ./package.json --no-verify",
36
36
  "typechain": "typechain --target ethers-v5 --out-dir src/utils/abi/typechain 'src/utils/abi/contracts/*.json' && eslint --fix src/utils/abi/typechain && yarn prettier --write \"src/utils/abi/typechain/**/*.ts\"",
37
- "yalc:watch": "nodemon --watch src --ext ts,tsx,json,js,jsx --exec 'yalc push'"
37
+ "yalc:watch": "nodemon --watch src --ext ts,tsx,json,js,jsx --ignore src/utils/abi/ --exec 'yalc publish --push --changed'"
38
38
  },
39
39
  "lint-staged": {
40
40
  "*.ts": "yarn lint"
@@ -117,7 +117,6 @@
117
117
  "@solana/kit": "^2.1.0",
118
118
  "@solana/web3.js": "^1.31.0",
119
119
  "@types/mocha": "^10.0.1",
120
- "@types/node": "^24.2.1",
121
120
  "@uma/sdk": "^0.34.10",
122
121
  "arweave": "^1.14.4",
123
122
  "async": "^3.2.5",
@@ -1,6 +1,6 @@
1
1
  import { MessageTransmitterClient, SvmSpokeClient, TokenMessengerMinterClient } from "@across-protocol/contracts";
2
2
  import { decodeFillStatusAccount, fetchState } from "@across-protocol/contracts/dist/src/svm/clients/SvmSpoke";
3
- import { decodeMessageHeader, hashNonEmptyMessage } from "@across-protocol/contracts/dist/src/svm/web3-v1";
3
+ import { decodeMessageHeader } from "@across-protocol/contracts/dist/src/svm/web3-v1";
4
4
  import { SYSTEM_PROGRAM_ADDRESS } from "@solana-program/system";
5
5
  import {
6
6
  ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
@@ -37,7 +37,14 @@ import assert from "assert";
37
37
  import winston from "winston";
38
38
  import { arrayify } from "ethers/lib/utils";
39
39
  import { CHAIN_IDs, TOKEN_SYMBOLS_MAP } from "../../constants";
40
- import { DepositWithBlock, FillStatus, FillWithBlock, RelayData, RelayExecutionEventInfo } from "../../interfaces";
40
+ import {
41
+ DepositWithBlock,
42
+ FillStatus,
43
+ FillWithBlock,
44
+ RelayData,
45
+ RelayDataWithMessageHash,
46
+ RelayExecutionEventInfo,
47
+ } from "../../interfaces";
41
48
  import {
42
49
  BigNumber,
43
50
  EvmAddress,
@@ -48,6 +55,7 @@ import {
48
55
  chainIsSvm,
49
56
  chunk,
50
57
  delay,
58
+ getMessageHash,
51
59
  isUnsafeDepositId,
52
60
  keccak256,
53
61
  mapAsync,
@@ -309,7 +317,7 @@ export async function findDeposit(
309
317
  */
310
318
  export async function relayFillStatus(
311
319
  programId: Address,
312
- relayData: RelayData,
320
+ relayData: RelayDataWithMessageHash,
313
321
  destinationChainId: number,
314
322
  svmEventsClient: SvmCpiEventsClient,
315
323
  logger: winston.Logger,
@@ -360,7 +368,7 @@ export async function relayFillStatus(
360
368
  */
361
369
  export async function fillStatusArray(
362
370
  programId: Address,
363
- relayData: RelayData[],
371
+ relayData: RelayDataWithMessageHash[],
364
372
  destinationChainId: number,
365
373
  svmEventsClient: SvmCpiEventsClient,
366
374
  logger: winston.Logger,
@@ -444,7 +452,7 @@ export async function fillStatusArray(
444
452
  * @returns The fill event with block info, or `undefined` if not found.
445
453
  */
446
454
  export async function findFillEvent(
447
- relayData: RelayData,
455
+ relayData: RelayDataWithMessageHash,
448
456
  destinationChainId: number,
449
457
  svmEventsClient: SvmCpiEventsClient,
450
458
  fromSlot: number,
@@ -526,7 +534,8 @@ export async function fillRelayInstruction(
526
534
  `Invalid repayment address for chain ${repaymentChainId}: ${repaymentAddress.toNative()}.`
527
535
  );
528
536
 
529
- const _relayDataHash = getRelayDataHash(relayData, relayData.destinationChainId);
537
+ const messageHash = getMessageHash(relayData.message);
538
+ const _relayDataHash = getRelayDataHash({ ...relayData, messageHash }, relayData.destinationChainId);
530
539
  const relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
531
540
 
532
541
  const relayer = SvmAddress.from(signer.address);
@@ -602,7 +611,8 @@ export async function getFillRelayTx(
602
611
  );
603
612
 
604
613
  const program = toAddress(spokePoolAddr);
605
- const _relayDataHash = getRelayDataHash(relayData, relayData.destinationChainId);
614
+ const messageHash = getMessageHash(relayData.message);
615
+ const _relayDataHash = getRelayDataHash({ ...relayData, messageHash }, relayData.destinationChainId);
606
616
  const relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
607
617
 
608
618
  const [state, delegate, mintInfo, fillStatus, eventAuthority] = await Promise.all([
@@ -780,7 +790,8 @@ export async function getSlowFillRequestTx(
780
790
  signer: TransactionSigner
781
791
  ) {
782
792
  const program = toAddress(spokePoolAddr);
783
- const relayDataHash = getRelayDataHash(relayData, relayData.destinationChainId);
793
+ const messageHash = getMessageHash(relayData.message);
794
+ const relayDataHash = getRelayDataHash({ ...relayData, messageHash }, relayData.destinationChainId);
784
795
 
785
796
  const [state, fillStatus, eventAuthority] = await Promise.all([
786
797
  getStatePda(program),
@@ -851,21 +862,25 @@ export async function getAssociatedTokenAddress(
851
862
  return associatedToken;
852
863
  }
853
864
 
854
- export function getRelayDataHash(relayData: RelayData, destinationChainId: number): string {
855
- assert(relayData.message.startsWith("0x"), "Message must be a hex string");
865
+ export function getRelayDataHash(relayData: RelayData & { messageHash: string }, destinationChainId: number): string {
866
+ assert(relayData.messageHash.startsWith("0x"), "Message hash must be a hex string");
867
+
856
868
  const uint64Encoder = getU64Encoder();
857
869
 
858
870
  const svmRelayData = toSvmRelayData(relayData);
859
871
  const relayDataEncoder = SvmSpokeClient.getRelayDataEncoder();
860
872
  const encodedRelayData = relayDataEncoder.encode(svmRelayData);
861
873
  const encodedMessage = Buffer.from(relayData.message.slice(2), "hex");
874
+ const encodedMessageHash = Uint8Array.from(Buffer.from(relayData.messageHash.slice(2), "hex"));
862
875
 
863
876
  // Reformat the encoded relay data the same way it is done in the SvmSpoke:
864
877
  // https://github.com/across-protocol/contracts/blob/3310f8dc716407a5f97ef5fd2eae63df83251f2f/programs/svm-spoke/src/utils/merkle_proof_utils.rs#L5
878
+ // We want to use messageHash always so we can construct the relayDataHash just from the Fill.
879
+ // If we don't have a message, we can just pass an empty message here.
865
880
  const messageOffset = encodedRelayData.length - 4 - encodedMessage.length;
866
881
  const contentToHash = Buffer.concat([
867
882
  encodedRelayData.slice(0, messageOffset),
868
- hashNonEmptyMessage(encodedMessage),
883
+ encodedMessageHash,
869
884
  Uint8Array.from(uint64Encoder.encode(BigInt(destinationChainId))),
870
885
  ]);
871
886
 
@@ -23,9 +23,9 @@ import {
23
23
  import assert from "assert";
24
24
  import bs58 from "bs58";
25
25
  import { ethers } from "ethers";
26
- import { FillType, RelayData } from "../../interfaces";
27
- import { BigNumber, Address as SdkAddress, biMin, getRelayDataHash, isDefined, isUint8Array } from "../../utils";
28
- import { getTimestampForSlot, getSlot } from "./SpokeUtils";
26
+ import { FillType, RelayData, RelayDataWithMessageHash } from "../../interfaces";
27
+ import { BigNumber, Address as SdkAddress, biMin, getMessageHash, isDefined, isUint8Array } from "../../utils";
28
+ import { getTimestampForSlot, getSlot, getRelayDataHash } from "./SpokeUtils";
29
29
  import { AttestedCCTPMessage, EventName, SVMEventNames, SVMProvider } from "./types";
30
30
  import winston from "winston";
31
31
 
@@ -268,10 +268,11 @@ export async function getStatePda(programId: Address): Promise<Address> {
268
268
  */
269
269
  export async function getFillStatusPda(
270
270
  programId: Address,
271
- relayData: RelayData,
271
+ relayData: RelayDataWithMessageHash,
272
272
  destinationChainId: number
273
273
  ): Promise<Address> {
274
- const relayDataHash = getRelayDataHash(relayData, destinationChainId);
274
+ const messageHash = relayData.messageHash ?? getMessageHash(relayData.message);
275
+ const relayDataHash = getRelayDataHash({ ...relayData, messageHash }, destinationChainId);
275
276
  const uint8RelayDataHash = new Uint8Array(Buffer.from(relayDataHash.slice(2), "hex"));
276
277
  const [fillStatusPda] = await getProgramDerivedAddress({
277
278
  programAddress: programId,
@@ -18,6 +18,7 @@ import {
18
18
  count2DDictionaryValues,
19
19
  count3DDictionaryValues,
20
20
  toAddressType,
21
+ isDefined,
21
22
  } from "../../../utils";
22
23
  import {
23
24
  addLastRunningBalance,
@@ -153,21 +154,15 @@ export function _buildPoolRebalanceRoot(
153
154
  ([l2TokenAddress, { realizedLpFees: totalRealizedLpFee, totalRefundAmount }]) => {
154
155
  // If the repayment token and repayment chain ID do not map to a PoolRebalanceRoute graph, then
155
156
  // there are no relevant L1 running balances.
156
- if (
157
- !clients.hubPoolClient.l2TokenHasPoolRebalanceRoute(
158
- toAddressType(l2TokenAddress, repaymentChainId),
159
- repaymentChainId,
160
- mainnetBundleEndBlock
161
- )
162
- ) {
163
- chainWithRefundsOnly.add(repaymentChainId);
164
- return;
165
- }
166
157
  const l1Token = clients.hubPoolClient.getL1TokenForL2TokenAtBlock(
167
158
  toAddressType(l2TokenAddress, repaymentChainId),
168
159
  repaymentChainId,
169
160
  mainnetBundleEndBlock
170
161
  );
162
+ if (!l1Token) {
163
+ chainWithRefundsOnly.add(repaymentChainId);
164
+ return;
165
+ }
171
166
  const l1TokenAddr = l1Token.toNative();
172
167
  assert(l1Token.isEVM(), `Expected an EVM address: ${l1TokenAddr}`);
173
168
 
@@ -193,6 +188,9 @@ export function _buildPoolRebalanceRoot(
193
188
  destinationChainId,
194
189
  mainnetBundleEndBlock
195
190
  );
191
+
192
+ assert(isDefined(l1TokenCounterpart), "getRefundInformationFromFill: l1TokenCounterpart is undefined");
193
+
196
194
  const lpFee = deposit.lpFeePct.mul(deposit.inputAmount).div(fixedPointAdjustment);
197
195
  updateRunningBalance(
198
196
  runningBalances,
@@ -222,6 +220,8 @@ export function _buildPoolRebalanceRoot(
222
220
  destinationChainId,
223
221
  mainnetBundleEndBlock
224
222
  );
223
+ assert(isDefined(l1TokenCounterpart), "getRefundInformationFromFill: l1TokenCounterpart is undefined");
224
+
225
225
  const lpFee = deposit.lpFeePct.mul(deposit.inputAmount).div(fixedPointAdjustment);
226
226
  updateRunningBalance(
227
227
  runningBalances,
@@ -277,21 +277,15 @@ export function _buildPoolRebalanceRoot(
277
277
  deposits.forEach((deposit) => {
278
278
  // If the repayment token and repayment chain ID do not map to a PoolRebalanceRoute graph, then
279
279
  // there are no relevant L1 running balances.
280
- if (
281
- !clients.hubPoolClient.l2TokenHasPoolRebalanceRoute(
282
- deposit.inputToken,
283
- deposit.originChainId,
284
- mainnetBundleEndBlock
285
- )
286
- ) {
287
- chainWithRefundsOnly.add(deposit.originChainId);
288
- return;
289
- }
290
280
  const l1TokenCounterpart = clients.hubPoolClient.getL1TokenForL2TokenAtBlock(
291
281
  toAddressType(inputToken, originChainId),
292
282
  originChainId,
293
283
  mainnetBundleEndBlock
294
284
  );
285
+ if (!l1TokenCounterpart) {
286
+ chainWithRefundsOnly.add(deposit.originChainId);
287
+ return;
288
+ }
295
289
  updateRunningBalance(runningBalances, originChainId, l1TokenCounterpart.toEvmAddress(), deposit.inputAmount);
296
290
  });
297
291
  });
@@ -37,18 +37,21 @@ export function getRefundInformationFromFill(
37
37
 
38
38
  // Now figure out the equivalent L2 token for the repayment token. If the inputToken doesn't have a
39
39
  // PoolRebalanceRoute, then the repayment chain would have been the originChainId after the getRepaymentChainId()
40
- // call and we would have returned already, so the following call should always succeed.
40
+ // call and we would have returned already, so the following call should always return a valid L1 token.
41
41
  const l1TokenCounterpart = hubPoolClient.getL1TokenForL2TokenAtBlock(
42
42
  relayData.inputToken,
43
43
  relayData.originChainId,
44
44
  bundleEndBlockForMainnet
45
45
  );
46
46
 
47
+ assert(isDefined(l1TokenCounterpart), "getRefundInformationFromFill: l1TokenCounterpart is undefined");
48
+
47
49
  const repaymentToken = hubPoolClient.getL2TokenForL1TokenAtBlock(
48
50
  l1TokenCounterpart,
49
51
  chainToSendRefundTo,
50
52
  bundleEndBlockForMainnet
51
53
  );
54
+ assert(isDefined(repaymentToken), "getRefundInformationFromFill: repaymentToken is undefined");
52
55
 
53
56
  return {
54
57
  chainToSendRefundTo,
@@ -183,6 +186,9 @@ function _repaymentChainTokenIsValid(
183
186
  relayData.originChainId,
184
187
  bundleEndBlockForMainnet
185
188
  );
189
+ if (!l1TokenCounterpart) {
190
+ return false;
191
+ }
186
192
  if (
187
193
  !hubPoolClient.l2TokenEnabledForL1TokenAtBlock(
188
194
  l1TokenCounterpart,
@@ -202,6 +202,8 @@ export function updateRunningBalanceForDeposit(
202
202
  deposit.originChainId,
203
203
  mainnetBundleEndBlock
204
204
  );
205
+ assert(isDefined(l1TokenCounterpart), "updateRunningBalanceForDeposit: l1TokenCounterpart is undefined");
206
+
205
207
  updateRunningBalance(runningBalances, deposit.originChainId, l1TokenCounterpart.toEvmAddress(), updateAmount);
206
208
  }
207
209
 
@@ -34,7 +34,6 @@ import {
34
34
  fetchTokenInfo,
35
35
  getCachedBlockForTimestamp,
36
36
  getCurrentTime,
37
- getNetworkName,
38
37
  isDefined,
39
38
  mapAsync,
40
39
  paginatedEventQuery,
@@ -75,17 +74,11 @@ type HubPoolEvent =
75
74
  | "RootBundleExecuted"
76
75
  | "CrossChainContractsSet";
77
76
 
78
- type L1TokensToDestinationTokens = {
79
- [l1Token: string]: { [destinationChainId: number]: Address };
80
- };
81
-
82
77
  export type LpFeeRequest = Pick<Deposit, "originChainId" | "inputToken" | "inputAmount" | "quoteTimestamp"> & {
83
78
  paymentChainId?: number;
84
79
  };
85
80
 
86
81
  export class HubPoolClient extends BaseAbstractClient {
87
- // L1Token -> destinationChainId -> destinationToken
88
- protected l1TokensToDestinationTokens: L1TokensToDestinationTokens = {};
89
82
  protected l1Tokens: L1TokenInfo[] = []; // L1Tokens and their associated info.
90
83
  // @dev `token` here is a 20-byte hex sting
91
84
  protected lpTokens: { [token: string]: LpToken } = {};
@@ -192,24 +185,16 @@ export class HubPoolClient extends BaseAbstractClient {
192
185
  l1Token: EvmAddress,
193
186
  destinationChainId: number,
194
187
  latestHubBlock = Number.MAX_SAFE_INTEGER
195
- ): Address {
188
+ ): Address | undefined {
196
189
  if (!this.l1TokensToDestinationTokensWithBlock?.[l1Token.toEvmAddress()]?.[destinationChainId]) {
197
- const chain = getNetworkName(destinationChainId);
198
- const { symbol } = this.l1Tokens.find(({ address }) => address.eq(l1Token)) ?? { symbol: l1Token.toString() };
199
- throw new Error(`Could not find SpokePool mapping for ${symbol} on ${chain} and L1 token ${l1Token}`);
190
+ return undefined;
200
191
  }
201
192
  // Find the last mapping published before the target block.
202
- const l2Token: DestinationTokenWithBlock | undefined = sortEventsDescending(
203
- this.l1TokensToDestinationTokensWithBlock[l1Token.toEvmAddress()][destinationChainId]
204
- ).find((mapping: DestinationTokenWithBlock) => mapping.blockNumber <= latestHubBlock);
205
- if (!l2Token) {
206
- const chain = getNetworkName(destinationChainId);
207
- const { symbol } = this.l1Tokens.find(({ address }) => address.eq(l1Token)) ?? { symbol: l1Token.toString() };
208
- throw new Error(
209
- `Could not find SpokePool mapping for ${symbol} on ${chain} at or before HubPool block ${latestHubBlock}!`
210
- );
211
- }
212
- return l2Token.l2Token;
193
+ const l2Token: DestinationTokenWithBlock | undefined = this.l1TokensToDestinationTokensWithBlock[
194
+ l1Token.toEvmAddress()
195
+ ][destinationChainId].find((mapping: DestinationTokenWithBlock) => mapping.blockNumber <= latestHubBlock);
196
+
197
+ return !l2Token || l2Token.l2Token.isZeroAddress() ? undefined : l2Token.l2Token;
213
198
  }
214
199
 
215
200
  // Returns the latest L1 token to use for an L2 token as of the input hub block.
@@ -217,32 +202,27 @@ export class HubPoolClient extends BaseAbstractClient {
217
202
  l2Token: Address,
218
203
  destinationChainId: number,
219
204
  latestHubBlock = Number.MAX_SAFE_INTEGER
220
- ): EvmAddress {
221
- const l2Tokens = Object.keys(this.l1TokensToDestinationTokensWithBlock)
222
- .filter((l1Token) => this.l2TokenEnabledForL1Token(EvmAddress.from(l1Token), destinationChainId))
223
- .map((l1Token) => {
224
- // Return all matching L2 token mappings that are equal to or earlier than the target block.
225
- // @dev Since tokens on L2s (like Solana) can have 32 byte addresses, filter on the lower 20 bytes of the token only.
226
- return this.l1TokensToDestinationTokensWithBlock[l1Token][destinationChainId].filter(
227
- (dstTokenWithBlock) =>
228
- dstTokenWithBlock.l2Token.truncateToBytes20() === l2Token.truncateToBytes20() &&
229
- dstTokenWithBlock.blockNumber <= latestHubBlock
230
- );
231
- })
232
- .flat();
233
- if (l2Tokens.length === 0) {
234
- const chain = getNetworkName(destinationChainId);
235
- throw new Error(
236
- `Could not find HubPool mapping for ${l2Token} on ${chain} at or before HubPool block ${latestHubBlock}!`
205
+ ): EvmAddress | undefined {
206
+ const l2Tokens = Object.keys(this.l1TokensToDestinationTokensWithBlock).flatMap((l1Token) => {
207
+ // Get the latest L2 token mapping for the given L1 token.
208
+ // @dev Since tokens on L2s (like Solana) can have 32 byte addresses, filter on the lower 20 bytes of the token only.
209
+ const sortedL2Tokens = sortEventsDescending(
210
+ (this.l1TokensToDestinationTokensWithBlock[l1Token][destinationChainId] ?? []).filter(
211
+ (dstTokenWithBlock) => dstTokenWithBlock.blockNumber <= latestHubBlock
212
+ )
237
213
  );
238
- }
239
- // Find the last mapping published before the target block.
240
- return sortEventsDescending(l2Tokens)[0].l1Token;
214
+ // If the latest L2 token mapping is equal to the target L2 token, return it.
215
+ return sortedL2Tokens.length > 0 && sortedL2Tokens[0].l2Token.truncateToBytes20() === l2Token.truncateToBytes20()
216
+ ? sortedL2Tokens[0]
217
+ : [];
218
+ });
219
+
220
+ return l2Tokens.length === 0 ? undefined : sortEventsDescending(l2Tokens)[0].l1Token;
241
221
  }
242
222
 
243
223
  protected getL1TokenForDeposit(
244
224
  deposit: Pick<DepositWithBlock, "originChainId" | "inputToken" | "quoteBlockNumber">
245
- ): EvmAddress {
225
+ ): EvmAddress | undefined {
246
226
  // L1-->L2 token mappings are set via PoolRebalanceRoutes which occur on mainnet,
247
227
  // so we use the latest token mapping. This way if a very old deposit is filled, the relayer can use the
248
228
  // latest L2 token mapping to find the L1 token counterpart.
@@ -250,7 +230,7 @@ export class HubPoolClient extends BaseAbstractClient {
250
230
  }
251
231
 
252
232
  l2TokenEnabledForL1Token(l1Token: EvmAddress, destinationChainId: number): boolean {
253
- return this.l1TokensToDestinationTokens?.[l1Token.toEvmAddress()]?.[destinationChainId] != undefined;
233
+ return this.l2TokenEnabledForL1TokenAtBlock(l1Token, destinationChainId, Number.MAX_SAFE_INTEGER);
254
234
  }
255
235
 
256
236
  l2TokenEnabledForL1TokenAtBlock(l1Token: EvmAddress, destinationChainId: number, hubBlockNumber: number): boolean {
@@ -258,21 +238,12 @@ export class HubPoolClient extends BaseAbstractClient {
258
238
  const l2Token: DestinationTokenWithBlock | undefined = sortEventsDescending(
259
239
  this.l1TokensToDestinationTokensWithBlock?.[l1Token.toEvmAddress()]?.[destinationChainId] ?? []
260
240
  ).find((mapping: DestinationTokenWithBlock) => mapping.blockNumber <= hubBlockNumber);
261
- return l2Token !== undefined;
241
+ return l2Token !== undefined && !l2Token.l2Token.isZeroAddress();
262
242
  }
263
243
 
264
244
  l2TokenHasPoolRebalanceRoute(l2Token: Address, l2ChainId: number, hubPoolBlock = this.latestHeightSearched): boolean {
265
- return Object.values(this.l1TokensToDestinationTokensWithBlock).some((destinationTokenMapping) => {
266
- return Object.entries(destinationTokenMapping).some(([_l2ChainId, setPoolRebalanceRouteEvents]) => {
267
- return setPoolRebalanceRouteEvents.some((e) => {
268
- return (
269
- e.blockNumber <= hubPoolBlock &&
270
- e.l2Token.truncateToBytes20() === l2Token.truncateToBytes20() &&
271
- Number(_l2ChainId) === l2ChainId
272
- );
273
- });
274
- });
275
- });
245
+ const l1Token = this.getL1TokenForL2TokenAtBlock(l2Token, l2ChainId, hubPoolBlock);
246
+ return l1Token !== undefined;
276
247
  }
277
248
 
278
249
  /**
@@ -407,9 +378,11 @@ export class HubPoolClient extends BaseAbstractClient {
407
378
  const hubPoolTokens: { [k: string]: EvmAddress } = {};
408
379
  const getHubPoolToken = (deposit: LpFeeRequest, quoteBlockNumber: number): EvmAddress | undefined => {
409
380
  const tokenKey = `${deposit.originChainId}-${deposit.inputToken}`;
410
- if (this.l2TokenHasPoolRebalanceRoute(deposit.inputToken, deposit.originChainId, quoteBlockNumber)) {
411
- return (hubPoolTokens[tokenKey] ??= this.getL1TokenForDeposit({ ...deposit, quoteBlockNumber }));
412
- } else return undefined;
381
+ const l1Token = this.getL1TokenForDeposit({ ...deposit, quoteBlockNumber });
382
+ if (!l1Token) {
383
+ return undefined;
384
+ }
385
+ return (hubPoolTokens[tokenKey] ??= l1Token);
413
386
  };
414
387
  const getHubPoolTokens = (): EvmAddress[] => dedupArray(Object.values(hubPoolTokens).filter(isDefined));
415
388
 
@@ -548,14 +521,14 @@ export class HubPoolClient extends BaseAbstractClient {
548
521
  // Resolve both SpokePool tokens back to their respective HubPool tokens and verify that they match.
549
522
  const l1TokenA = this.getL1TokenForL2TokenAtBlock(tokenA, chainIdA, hubPoolBlock);
550
523
  const l1TokenB = this.getL1TokenForL2TokenAtBlock(tokenB, chainIdB, hubPoolBlock);
551
- if (!l1TokenA.eq(l1TokenB)) {
524
+ if (!l1TokenA || !l1TokenB || !l1TokenA.eq(l1TokenB)) {
552
525
  return false;
553
526
  }
554
527
 
555
528
  // Resolve both HubPool tokens back to a current SpokePool token and verify that they match.
556
529
  const _tokenA = this.getL2TokenForL1TokenAtBlock(l1TokenA, chainIdA, hubPoolBlock);
557
530
  const _tokenB = this.getL2TokenForL1TokenAtBlock(l1TokenB, chainIdB, hubPoolBlock);
558
- return tokenA.eq(_tokenA) && tokenB.eq(_tokenB);
531
+ return _tokenA !== undefined && _tokenB !== undefined && tokenA.eq(_tokenA) && tokenB.eq(_tokenB);
559
532
  }
560
533
 
561
534
  getSpokeActivationBlockForChain(chainId: number): number {
@@ -995,24 +968,22 @@ export class HubPoolClient extends BaseAbstractClient {
995
968
  destinationToken = svmUsdc;
996
969
  }
997
970
 
998
- // If the destination token is set to the zero address in an event, then this means Across should no longer
999
- // rebalance to this chain.
1000
- if (!destinationToken.isZeroAddress()) {
1001
- assign(this.l1TokensToDestinationTokens, [args.l1Token, args.destinationChainId], destinationToken);
1002
- assign(
1003
- this.l1TokensToDestinationTokensWithBlock,
1004
- [args.l1Token, args.destinationChainId],
1005
- [
1006
- {
1007
- l1Token: EvmAddress.from(args.l1Token),
1008
- l2Token: destinationToken,
1009
- blockNumber: args.blockNumber,
1010
- txnIndex: args.txnIndex,
1011
- logIndex: args.logIndex,
1012
- txnRef: args.txnRef,
1013
- },
1014
- ]
1015
- );
971
+ const newRoute: DestinationTokenWithBlock = {
972
+ l1Token: EvmAddress.from(args.l1Token),
973
+ l2Token: destinationToken,
974
+ blockNumber: args.blockNumber,
975
+ txnIndex: args.txnIndex,
976
+ logIndex: args.logIndex,
977
+ txnRef: args.txnRef,
978
+ };
979
+ if (this.l1TokensToDestinationTokensWithBlock[args.l1Token]?.[args.destinationChainId]) {
980
+ // Events are most likely coming in descending orders already but just in case we sort them again.
981
+ this.l1TokensToDestinationTokensWithBlock[args.l1Token][args.destinationChainId] = sortEventsDescending([
982
+ ...this.l1TokensToDestinationTokensWithBlock[args.l1Token][args.destinationChainId],
983
+ newRoute,
984
+ ]);
985
+ } else {
986
+ assign(this.l1TokensToDestinationTokensWithBlock, [args.l1Token, args.destinationChainId], [newRoute]);
1016
987
  }
1017
988
  }
1018
989
  }
@@ -11,7 +11,7 @@ import {
11
11
  relayFillStatus,
12
12
  fillStatusArray,
13
13
  } from "../../arch/svm";
14
- import { FillStatus, RelayData, SortableEvent } from "../../interfaces";
14
+ import { FillStatus, RelayDataWithMessageHash, SortableEvent } from "../../interfaces";
15
15
  import {
16
16
  BigNumber,
17
17
  DepositSearchResult,
@@ -244,7 +244,7 @@ export class SVMSpokePoolClient extends SpokePoolClient {
244
244
  /**
245
245
  * Retrieves the fill status for a given relay data from the SVM chain.
246
246
  */
247
- public override relayFillStatus(relayData: RelayData, atHeight?: number): Promise<FillStatus> {
247
+ public override relayFillStatus(relayData: RelayDataWithMessageHash, atHeight?: number): Promise<FillStatus> {
248
248
  return relayFillStatus(this.programId, relayData, this.chainId, this.svmEventsClient, this.logger, atHeight);
249
249
  }
250
250
 
@@ -255,7 +255,7 @@ export class SVMSpokePoolClient extends SpokePoolClient {
255
255
  * @returns The fill status for each of the given relay data.
256
256
  */
257
257
  public fillStatusArray(
258
- relayData: RelayData[],
258
+ relayData: RelayDataWithMessageHash[],
259
259
  atHeight?: number,
260
260
  destinationChainId?: number
261
261
  ): Promise<(FillStatus | undefined)[]> {
@@ -472,18 +472,22 @@ export abstract class SpokePoolClient extends BaseAbstractClient {
472
472
  )
473
473
  ) {
474
474
  return false;
475
- } else {
476
- const l1Token = this.hubPoolClient?.getL1TokenForL2TokenAtBlock(
477
- deposit.inputToken,
478
- deposit.originChainId,
479
- deposit.quoteBlockNumber
480
- );
481
- return this.hubPoolClient.l2TokenEnabledForL1TokenAtBlock(
482
- l1Token,
483
- deposit.destinationChainId,
484
- deposit.quoteBlockNumber
485
- );
486
475
  }
476
+
477
+ const l1Token = this.hubPoolClient?.getL1TokenForL2TokenAtBlock(
478
+ deposit.inputToken,
479
+ deposit.originChainId,
480
+ deposit.quoteBlockNumber
481
+ );
482
+ if (!l1Token) {
483
+ return false;
484
+ }
485
+
486
+ return this.hubPoolClient.l2TokenEnabledForL1TokenAtBlock(
487
+ l1Token,
488
+ deposit.destinationChainId,
489
+ deposit.quoteBlockNumber
490
+ );
487
491
  }
488
492
 
489
493
  /**