@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 { MessageTransmitterClient, SpokePool__factory, SvmSpokeClient } from "@across-protocol/contracts";
3
2
  import { BN, BorshEventCoder } from "@coral-xyz/anchor";
4
3
  import { address, appendTransactionMessageInstruction, createTransactionMessage, getAddressEncoder, getBase64EncodedWireTransaction, getProgramDerivedAddress, getU32Encoder, getU64Encoder, isAddress, pipe, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, } from "@solana/kit";
@@ -12,34 +11,20 @@ import { SVMEventNames } from "./types";
12
11
  /**
13
12
  * Basic void TransactionSigner type
14
13
  */
15
- export var SolanaVoidSigner = function (simulationAddress) {
14
+ export const SolanaVoidSigner = (simulationAddress) => {
16
15
  return {
17
16
  address: address(simulationAddress),
18
- signAndSendTransactions: function () { return __awaiter(void 0, void 0, void 0, function () {
19
- return __generator(this, function (_a) {
20
- switch (_a.label) {
21
- case 0: return [4 /*yield*/, Promise.resolve([])];
22
- case 1: return [2 /*return*/, _a.sent()];
23
- }
24
- });
25
- }); },
17
+ signAndSendTransactions: async () => {
18
+ return await Promise.resolve([]);
19
+ },
26
20
  };
27
21
  };
28
22
  /**
29
23
  * Helper to determine if the current RPC network is devnet.
30
24
  */
31
- export function isDevnet(rpc) {
32
- return __awaiter(this, void 0, void 0, function () {
33
- var genesisHash;
34
- return __generator(this, function (_a) {
35
- switch (_a.label) {
36
- case 0: return [4 /*yield*/, rpc.getGenesisHash().send()];
37
- case 1:
38
- genesisHash = _a.sent();
39
- return [2 /*return*/, genesisHash === "EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG"];
40
- }
41
- });
42
- });
25
+ export async function isDevnet(rpc) {
26
+ const genesisHash = await rpc.getGenesisHash().send();
27
+ return genesisHash === "EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG";
43
28
  }
44
29
  /**
45
30
  * Small utility to convert an Address to a Solana Kit branded type.
@@ -53,75 +38,36 @@ export function toAddress(address) {
53
38
  * @param opts An object containing a specific slot number, or a Solana commitment, defaulting to "confirmed".
54
39
  * @returns An object containing the slot number and the relevant timestamp for the block.
55
40
  */
56
- export function getNearestSlotTime(provider_1) {
57
- return __awaiter(this, arguments, void 0, function (provider, opts, logger) {
58
- var timestamp, slot, _a, maxRetries;
59
- if (opts === void 0) { opts = { commitment: "confirmed" }; }
60
- return __generator(this, function (_b) {
61
- switch (_b.label) {
62
- case 0:
63
- if (!("slot" in opts)) return [3 /*break*/, 1];
64
- _a = opts.slot;
65
- return [3 /*break*/, 3];
66
- case 1: return [4 /*yield*/, getSlot(provider, opts.commitment, logger)];
67
- case 2:
68
- _a = _b.sent();
69
- _b.label = 3;
70
- case 3:
71
- slot = _a;
72
- maxRetries = undefined;
73
- _b.label = 4;
74
- case 4: return [4 /*yield*/, getTimestampForSlot(provider, slot, maxRetries, logger)];
75
- case 5:
76
- timestamp = _b.sent();
77
- _b.label = 6;
78
- case 6:
79
- if (!isDefined(timestamp) && --slot) return [3 /*break*/, 4];
80
- _b.label = 7;
81
- case 7:
82
- assert(isDefined(timestamp), "Unable to resolve block time for SVM slot ".concat(slot));
83
- return [2 /*return*/, { slot: slot, timestamp: timestamp }];
84
- }
85
- });
86
- });
41
+ export async function getNearestSlotTime(provider, opts = { commitment: "confirmed" }, logger) {
42
+ let timestamp;
43
+ let slot = "slot" in opts ? opts.slot : await getSlot(provider, opts.commitment, logger);
44
+ const maxRetries = undefined; // Inherit defaults
45
+ do {
46
+ timestamp = await getTimestampForSlot(provider, slot, maxRetries, logger);
47
+ } while (!isDefined(timestamp) && --slot);
48
+ assert(isDefined(timestamp), `Unable to resolve block time for SVM slot ${slot}`);
49
+ return { slot, timestamp };
87
50
  }
88
51
  /**
89
52
  * Resolve the latest finalized slot, and then work backwards to find the nearest slot containing a block.
90
53
  * In most cases the first-resolved slot should also have a block. Avoid making arbitrary decisions about
91
54
  * how many slots to rotate through.
92
55
  */
93
- export function getLatestFinalizedSlotWithBlock(provider_1, logger_1, maxSlot_1) {
94
- return __awaiter(this, arguments, void 0, function (provider, logger, maxSlot, maxLookback) {
95
- var opts, finalizedSlot, endSlot, slot, block;
96
- if (maxLookback === void 0) { maxLookback = 1000; }
97
- return __generator(this, function (_a) {
98
- switch (_a.label) {
99
- case 0:
100
- opts = { maxSupportedTransactionVersion: 0, transactionDetails: "none", rewards: false };
101
- return [4 /*yield*/, getNearestSlotTime(provider, { commitment: "finalized" }, logger)];
102
- case 1:
103
- finalizedSlot = (_a.sent()).slot;
104
- endSlot = biMin(maxSlot, finalizedSlot);
105
- slot = endSlot;
106
- _a.label = 2;
107
- case 2: return [4 /*yield*/, provider.getBlock(slot, opts).send()];
108
- case 3:
109
- block = _a.sent();
110
- if (isDefined(block) && [block.blockHeight, block.blockTime].every(isDefined)) {
111
- return [3 /*break*/, 5];
112
- }
113
- _a.label = 4;
114
- case 4:
115
- if (--maxLookback > 0 && --slot > 0) return [3 /*break*/, 2];
116
- _a.label = 5;
117
- case 5:
118
- if (maxLookback === 0) {
119
- throw new Error("Unable to find Solana block between slots [".concat(slot, ", ").concat(endSlot, "]"));
120
- }
121
- return [2 /*return*/, Number(slot)];
122
- }
123
- });
124
- });
56
+ export async function getLatestFinalizedSlotWithBlock(provider, logger, maxSlot, maxLookback = 1000) {
57
+ const opts = { maxSupportedTransactionVersion: 0, transactionDetails: "none", rewards: false };
58
+ const { slot: finalizedSlot } = await getNearestSlotTime(provider, { commitment: "finalized" }, logger);
59
+ const endSlot = biMin(maxSlot, finalizedSlot);
60
+ let slot = endSlot;
61
+ do {
62
+ const block = await provider.getBlock(slot, opts).send();
63
+ if (isDefined(block) && [block.blockHeight, block.blockTime].every(isDefined)) {
64
+ break;
65
+ }
66
+ } while (--maxLookback > 0 && --slot > 0);
67
+ if (maxLookback === 0) {
68
+ throw new Error(`Unable to find Solana block between slots [${slot}, ${endSlot}]`);
69
+ }
70
+ return Number(slot);
125
71
  }
126
72
  /**
127
73
  * Parses event data from a transaction.
@@ -137,7 +83,7 @@ export function parseEventData(eventData) {
137
83
  return new Uint8Array(eventData);
138
84
  }
139
85
  if (typeof eventData === "object") {
140
- var stringTag = Object.prototype.toString.call(eventData);
86
+ const stringTag = Object.prototype.toString.call(eventData);
141
87
  if (stringTag.includes("PublicKey")) {
142
88
  return address(eventData.toString());
143
89
  }
@@ -145,10 +91,7 @@ export function parseEventData(eventData) {
145
91
  return BigInt(eventData.toString());
146
92
  }
147
93
  // Convert each key from snake_case to camelCase and process the value recursively.
148
- return Object.fromEntries(Object.entries(eventData).map(function (_a) {
149
- var key = _a[0], value = _a[1];
150
- return [snakeToCamel(key), parseEventData(value)];
151
- }));
94
+ return Object.fromEntries(Object.entries(eventData).map(([key, value]) => [snakeToCamel(key), parseEventData(value)]));
152
95
  }
153
96
  return eventData;
154
97
  }
@@ -156,9 +99,9 @@ export function parseEventData(eventData) {
156
99
  * Decodes a raw event according to a supplied IDL.
157
100
  */
158
101
  export function decodeEvent(idl, rawEvent) {
159
- var event = new BorshEventCoder(idl).decode(rawEvent);
102
+ const event = new BorshEventCoder(idl).decode(rawEvent);
160
103
  if (!event)
161
- throw new Error("Malformed rawEvent for IDL ".concat(idl.address, ": ").concat(rawEvent));
104
+ throw new Error(`Malformed rawEvent for IDL ${idl.address}: ${rawEvent}`);
162
105
  return {
163
106
  name: event.name,
164
107
  data: parseEventData(event.data),
@@ -168,29 +111,28 @@ export function decodeEvent(idl, rawEvent) {
168
111
  * Converts a snake_case string to camelCase.
169
112
  */
170
113
  function snakeToCamel(s) {
171
- return s.replace(/(_\w)/g, function (match) { return match[1].toUpperCase(); });
114
+ return s.replace(/(_\w)/g, (match) => match[1].toUpperCase());
172
115
  }
173
116
  /**
174
117
  * Gets the event name from a raw name.
175
118
  */
176
119
  export function getEventName(rawName) {
177
- if (Object.values(SVMEventNames).some(function (name) { return rawName.includes(name); }))
120
+ if (Object.values(SVMEventNames).some((name) => rawName.includes(name)))
178
121
  return rawName;
179
- throw new Error("Unknown event name: ".concat(rawName));
122
+ throw new Error(`Unknown event name: ${rawName}`);
180
123
  }
181
124
  /**
182
125
  * Unwraps any data structure and converts Address types to strings and Uint8Array to hex or BigInt.
183
126
  * Recursively processes nested objects and arrays.
184
127
  */
185
- export function unwrapEventData(data, uint8ArrayKeysAsBigInt, currentKey) {
186
- if (uint8ArrayKeysAsBigInt === void 0) { uint8ArrayKeysAsBigInt = ["depositId", "outputAmount", "inputAmount"]; }
128
+ export function unwrapEventData(data, uint8ArrayKeysAsBigInt = ["depositId", "outputAmount", "inputAmount"], currentKey) {
187
129
  // Handle null/undefined
188
130
  if (data == null) {
189
131
  return data;
190
132
  }
191
133
  // Handle BigInt
192
134
  if (typeof data === "bigint") {
193
- var bigIntKeysAsNumber = ["originChainId", "destinationChainId", "repaymentChainId", "chainId"];
135
+ const bigIntKeysAsNumber = ["originChainId", "destinationChainId", "repaymentChainId", "chainId"];
194
136
  if (currentKey && bigIntKeysAsNumber.includes(currentKey)) {
195
137
  return Number(data);
196
138
  }
@@ -198,8 +140,8 @@ export function unwrapEventData(data, uint8ArrayKeysAsBigInt, currentKey) {
198
140
  }
199
141
  // Handle Uint8Array and byte arrays
200
142
  if (data instanceof Uint8Array || isUint8Array(data)) {
201
- var bytes = data instanceof Uint8Array ? data : new Uint8Array(data);
202
- var hex = ethers.utils.hexlify(bytes);
143
+ const bytes = data instanceof Uint8Array ? data : new Uint8Array(data);
144
+ const hex = ethers.utils.hexlify(bytes);
203
145
  if (currentKey && uint8ArrayKeysAsBigInt.includes(currentKey)) {
204
146
  return BigNumber.from(hex);
205
147
  }
@@ -207,7 +149,7 @@ export function unwrapEventData(data, uint8ArrayKeysAsBigInt, currentKey) {
207
149
  }
208
150
  // Handle regular arrays (non-byte arrays)
209
151
  if (Array.isArray(data)) {
210
- return data.map(function (item) { return unwrapEventData(item, uint8ArrayKeysAsBigInt); });
152
+ return data.map((item) => unwrapEventData(item, uint8ArrayKeysAsBigInt));
211
153
  }
212
154
  // Handle strings (potential addresses)
213
155
  if (typeof data === "string" && isAddress(data)) {
@@ -218,7 +160,7 @@ export function unwrapEventData(data, uint8ArrayKeysAsBigInt, currentKey) {
218
160
  // Special case: if an object is in the context of the fillType key, then
219
161
  // parse out the fillType from the object
220
162
  if (currentKey === "fillType") {
221
- var fillType = Object.keys(data)[0];
163
+ const fillType = Object.keys(data)[0];
222
164
  switch (fillType) {
223
165
  case "FastFill":
224
166
  return FillType.FastFill;
@@ -227,20 +169,17 @@ export function unwrapEventData(data, uint8ArrayKeysAsBigInt, currentKey) {
227
169
  case "SlowFill":
228
170
  return FillType.SlowFill;
229
171
  default:
230
- throw new Error("Unknown fill type: ".concat(fillType));
172
+ throw new Error(`Unknown fill type: ${fillType}`);
231
173
  }
232
174
  }
233
175
  // Special case: if an object is empty, return 0x
234
176
  if (Object.keys(data).length === 0) {
235
177
  return "0x";
236
178
  }
237
- return Object.fromEntries(Object.entries(data).map(function (_a) {
238
- var key = _a[0], value = _a[1];
239
- return [
240
- key,
241
- unwrapEventData(value, uint8ArrayKeysAsBigInt, key),
242
- ];
243
- }));
179
+ return Object.fromEntries(Object.entries(data).map(([key, value]) => [
180
+ key,
181
+ unwrapEventData(value, uint8ArrayKeysAsBigInt, key),
182
+ ]));
244
183
  }
245
184
  // Return primitives as is
246
185
  return data;
@@ -250,24 +189,14 @@ export function unwrapEventData(data, uint8ArrayKeysAsBigInt, currentKey) {
250
189
  * @param programId The SpokePool program ID.
251
190
  * @returns The PDA for the State account.
252
191
  */
253
- export function getStatePda(programId) {
254
- return __awaiter(this, void 0, void 0, function () {
255
- var intEncoder, seed, statePda;
256
- return __generator(this, function (_a) {
257
- switch (_a.label) {
258
- case 0:
259
- intEncoder = getU64Encoder();
260
- seed = intEncoder.encode(0);
261
- return [4 /*yield*/, getProgramDerivedAddress({
262
- programAddress: programId,
263
- seeds: ["state", seed],
264
- })];
265
- case 1:
266
- statePda = (_a.sent())[0];
267
- return [2 /*return*/, statePda];
268
- }
269
- });
192
+ export async function getStatePda(programId) {
193
+ const intEncoder = getU64Encoder();
194
+ const seed = intEncoder.encode(0);
195
+ const [statePda] = await getProgramDerivedAddress({
196
+ programAddress: programId,
197
+ seeds: ["state", seed],
270
198
  });
199
+ return statePda;
271
200
  }
272
201
  /**
273
202
  * Returns the fill status PDA for the given relay data.
@@ -276,26 +205,15 @@ export function getStatePda(programId) {
276
205
  * @param destinationChainId The destination chain ID.
277
206
  * @returns The PDA for the fill status.
278
207
  */
279
- export function getFillStatusPda(programId, relayData, destinationChainId) {
280
- return __awaiter(this, void 0, void 0, function () {
281
- var messageHash, relayDataHash, uint8RelayDataHash, fillStatusPda;
282
- var _a;
283
- return __generator(this, function (_b) {
284
- switch (_b.label) {
285
- case 0:
286
- messageHash = (_a = relayData.messageHash) !== null && _a !== void 0 ? _a : getMessageHash(relayData.message);
287
- relayDataHash = getRelayDataHash(__assign(__assign({}, relayData), { messageHash: messageHash }), destinationChainId);
288
- uint8RelayDataHash = new Uint8Array(Buffer.from(relayDataHash.slice(2), "hex"));
289
- return [4 /*yield*/, getProgramDerivedAddress({
290
- programAddress: programId,
291
- seeds: ["fills", uint8RelayDataHash],
292
- })];
293
- case 1:
294
- fillStatusPda = (_b.sent())[0];
295
- return [2 /*return*/, fillStatusPda];
296
- }
297
- });
208
+ export async function getFillStatusPda(programId, relayData, destinationChainId) {
209
+ const messageHash = relayData.messageHash ?? getMessageHash(relayData.message);
210
+ const relayDataHash = getRelayDataHash({ ...relayData, messageHash }, destinationChainId);
211
+ const uint8RelayDataHash = new Uint8Array(Buffer.from(relayDataHash.slice(2), "hex"));
212
+ const [fillStatusPda] = await getProgramDerivedAddress({
213
+ programAddress: programId,
214
+ seeds: ["fills", uint8RelayDataHash],
298
215
  });
216
+ return fillStatusPda;
299
217
  }
300
218
  /**
301
219
  * Returns the PDA for a route account on SVM Spoke.
@@ -304,95 +222,55 @@ export function getFillStatusPda(programId, relayData, destinationChainId) {
304
222
  * @param routeChainId The route chain ID.
305
223
  * @returns The PDA for the route account.
306
224
  */
307
- export function getRoutePda(originToken, seed, routeChainId) {
308
- return __awaiter(this, void 0, void 0, function () {
309
- var intEncoder, addressEncoder, pda;
310
- return __generator(this, function (_a) {
311
- switch (_a.label) {
312
- case 0:
313
- intEncoder = getU64Encoder();
314
- addressEncoder = getAddressEncoder();
315
- return [4 /*yield*/, getProgramDerivedAddress({
316
- programAddress: address(SvmSpokeClient.SVM_SPOKE_PROGRAM_ADDRESS),
317
- seeds: ["route", addressEncoder.encode(originToken), intEncoder.encode(seed), intEncoder.encode(routeChainId)],
318
- })];
319
- case 1:
320
- pda = (_a.sent())[0];
321
- return [2 /*return*/, pda];
322
- }
323
- });
225
+ export async function getRoutePda(originToken, seed, routeChainId) {
226
+ const intEncoder = getU64Encoder();
227
+ const addressEncoder = getAddressEncoder();
228
+ const [pda] = await getProgramDerivedAddress({
229
+ programAddress: address(SvmSpokeClient.SVM_SPOKE_PROGRAM_ADDRESS),
230
+ seeds: ["route", addressEncoder.encode(originToken), intEncoder.encode(seed), intEncoder.encode(routeChainId)],
324
231
  });
232
+ return pda;
325
233
  }
326
234
  /**
327
235
  * Returns the PDA for the SVM Spoke's transfer liability account.
328
236
  * @param programId the address of the spoke pool.
329
237
  * @param originToken the address of the corresponding token.
330
238
  */
331
- export function getTransferLiabilityPda(programId, originToken) {
332
- return __awaiter(this, void 0, void 0, function () {
333
- var addressEncoder, pda;
334
- return __generator(this, function (_a) {
335
- switch (_a.label) {
336
- case 0:
337
- addressEncoder = getAddressEncoder();
338
- return [4 /*yield*/, getProgramDerivedAddress({
339
- programAddress: programId,
340
- seeds: ["transfer_liability", addressEncoder.encode(originToken)],
341
- })];
342
- case 1:
343
- pda = (_a.sent())[0];
344
- return [2 /*return*/, pda];
345
- }
346
- });
239
+ export async function getTransferLiabilityPda(programId, originToken) {
240
+ const addressEncoder = getAddressEncoder();
241
+ const [pda] = await getProgramDerivedAddress({
242
+ programAddress: programId,
243
+ seeds: ["transfer_liability", addressEncoder.encode(originToken)],
347
244
  });
245
+ return pda;
348
246
  }
349
247
  /**
350
248
  * Returns the PDA for the SVM Spoke's root bundle account.
351
249
  * @param programId the address of the spoke pool.
352
250
  * @param rootBundleId the associated root bundle ID.
353
251
  */
354
- export function getRootBundlePda(programId, rootBundleId) {
355
- return __awaiter(this, void 0, void 0, function () {
356
- var seedEncoder, seed, intEncoder, pda;
357
- return __generator(this, function (_a) {
358
- switch (_a.label) {
359
- case 0:
360
- seedEncoder = getU64Encoder();
361
- seed = seedEncoder.encode(0);
362
- intEncoder = getU32Encoder();
363
- return [4 /*yield*/, getProgramDerivedAddress({
364
- programAddress: programId,
365
- seeds: ["root_bundle", seed, intEncoder.encode(rootBundleId)],
366
- })];
367
- case 1:
368
- pda = (_a.sent())[0];
369
- return [2 /*return*/, pda];
370
- }
371
- });
252
+ export async function getRootBundlePda(programId, rootBundleId) {
253
+ const seedEncoder = getU64Encoder();
254
+ const seed = seedEncoder.encode(0); // Default seed.
255
+ const intEncoder = getU32Encoder();
256
+ const [pda] = await getProgramDerivedAddress({
257
+ programAddress: programId,
258
+ seeds: ["root_bundle", seed, intEncoder.encode(rootBundleId)],
372
259
  });
260
+ return pda;
373
261
  }
374
262
  /**
375
263
  * Returns the PDA for the SVM Spoke's instruction params account.
376
264
  * @param programId the address of the spoke pool.
377
265
  * @param signer the signer of the authenticated call.
378
266
  */
379
- export function getInstructionParamsPda(programId, signer) {
380
- return __awaiter(this, void 0, void 0, function () {
381
- var addressEncoder, pda;
382
- return __generator(this, function (_a) {
383
- switch (_a.label) {
384
- case 0:
385
- addressEncoder = getAddressEncoder();
386
- return [4 /*yield*/, getProgramDerivedAddress({
387
- programAddress: programId,
388
- seeds: ["instruction_params", addressEncoder.encode(signer)],
389
- })];
390
- case 1:
391
- pda = (_a.sent())[0];
392
- return [2 /*return*/, pda];
393
- }
394
- });
267
+ export async function getInstructionParamsPda(programId, signer) {
268
+ const addressEncoder = getAddressEncoder();
269
+ const [pda] = await getProgramDerivedAddress({
270
+ programAddress: programId,
271
+ seeds: ["instruction_params", addressEncoder.encode(signer)],
395
272
  });
273
+ return pda;
396
274
  }
397
275
  /**
398
276
  * Returns the PDA for an individual's claim account.
@@ -400,68 +278,42 @@ export function getInstructionParamsPda(programId, signer) {
400
278
  * @param mint the address of the token.
401
279
  * @param tokenOwner the address of the signer which owns the claim account.
402
280
  */
403
- export function getClaimAccountPda(programId, mint, tokenOwner) {
404
- return __awaiter(this, void 0, void 0, function () {
405
- var addressEncoder, pda;
406
- return __generator(this, function (_a) {
407
- switch (_a.label) {
408
- case 0:
409
- addressEncoder = getAddressEncoder();
410
- return [4 /*yield*/, getProgramDerivedAddress({
411
- programAddress: programId,
412
- seeds: ["claim_account", addressEncoder.encode(mint), addressEncoder.encode(tokenOwner)],
413
- })];
414
- case 1:
415
- pda = (_a.sent())[0];
416
- return [2 /*return*/, pda];
417
- }
418
- });
281
+ export async function getClaimAccountPda(programId, mint, tokenOwner) {
282
+ const addressEncoder = getAddressEncoder();
283
+ const [pda] = await getProgramDerivedAddress({
284
+ programAddress: programId,
285
+ seeds: ["claim_account", addressEncoder.encode(mint), addressEncoder.encode(tokenOwner)],
419
286
  });
287
+ return pda;
420
288
  }
421
289
  /**
422
290
  * Returns the PDA for the Event Authority.
423
291
  * @returns The PDA for the Event Authority.
424
292
  */
425
- export function getEventAuthority(programId) {
426
- return __awaiter(this, void 0, void 0, function () {
427
- var eventAuthority;
428
- return __generator(this, function (_a) {
429
- switch (_a.label) {
430
- case 0: return [4 /*yield*/, getProgramDerivedAddress({
431
- programAddress: programId,
432
- seeds: ["__event_authority"],
433
- })];
434
- case 1:
435
- eventAuthority = (_a.sent())[0];
436
- return [2 /*return*/, eventAuthority];
437
- }
438
- });
293
+ export async function getEventAuthority(programId) {
294
+ const [eventAuthority] = await getProgramDerivedAddress({
295
+ programAddress: programId,
296
+ seeds: ["__event_authority"],
439
297
  });
298
+ return eventAuthority;
440
299
  }
441
300
  /**
442
301
  * Returns the PDA for the Self Authority.
443
302
  * @returns The PDA for the Self Authority.
444
303
  */
445
- export var getSelfAuthority = function () { return __awaiter(void 0, void 0, void 0, function () {
446
- var selfAuthority;
447
- return __generator(this, function (_a) {
448
- switch (_a.label) {
449
- case 0: return [4 /*yield*/, getProgramDerivedAddress({
450
- programAddress: address(SvmSpokeClient.SVM_SPOKE_PROGRAM_ADDRESS),
451
- seeds: ["self_authority"],
452
- })];
453
- case 1:
454
- selfAuthority = (_a.sent())[0];
455
- return [2 /*return*/, selfAuthority];
456
- }
304
+ export const getSelfAuthority = async () => {
305
+ const [selfAuthority] = await getProgramDerivedAddress({
306
+ programAddress: address(SvmSpokeClient.SVM_SPOKE_PROGRAM_ADDRESS),
307
+ seeds: ["self_authority"],
457
308
  });
458
- }); };
309
+ return selfAuthority;
310
+ };
459
311
  /**
460
312
  * Returns a random SVM address.
461
313
  */
462
314
  export function getRandomSvmAddress() {
463
- var bytes = ethers.utils.randomBytes(32);
464
- var base58Address = bs58.encode(bytes);
315
+ const bytes = ethers.utils.randomBytes(32);
316
+ const base58Address = bs58.encode(bytes);
465
317
  return address(base58Address);
466
318
  }
467
319
  /**
@@ -470,24 +322,10 @@ export function getRandomSvmAddress() {
470
322
  * @param signer - The signer of the transaction.
471
323
  * @returns The default transaction.
472
324
  */
473
- export var createDefaultTransaction = function (rpcClient, signer, latestBlockhash) { return __awaiter(void 0, void 0, void 0, function () {
474
- var _a;
475
- return __generator(this, function (_b) {
476
- switch (_b.label) {
477
- case 0:
478
- if (!isDefined(latestBlockhash)) return [3 /*break*/, 1];
479
- _a = latestBlockhash;
480
- return [3 /*break*/, 3];
481
- case 1: return [4 /*yield*/, rpcClient.getLatestBlockhash().send()];
482
- case 2:
483
- _a = (_b.sent()).value;
484
- _b.label = 3;
485
- case 3:
486
- latestBlockhash = _a;
487
- return [2 /*return*/, pipe(createTransactionMessage({ version: 0 }), function (tx) { return setTransactionMessageFeePayerSigner(signer, tx); }, function (tx) { return setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, tx); })];
488
- }
489
- });
490
- }); };
325
+ export const createDefaultTransaction = async (rpcClient, signer, latestBlockhash) => {
326
+ latestBlockhash = isDefined(latestBlockhash) ? latestBlockhash : (await rpcClient.getLatestBlockhash().send()).value;
327
+ return pipe(createTransactionMessage({ version: 0 }), (tx) => setTransactionMessageFeePayerSigner(signer, tx), (tx) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, tx));
328
+ };
491
329
  /**
492
330
  * Simulates a transaction and decodes the result using a parser function.
493
331
  * @param solanaClient - The Solana client.
@@ -496,34 +334,18 @@ export var createDefaultTransaction = function (rpcClient, signer, latestBlockha
496
334
  * @param parser - The parser function to decode the result.
497
335
  * @returns The decoded result.
498
336
  */
499
- export var simulateAndDecode = function (solanaClient, ix, signer, parser, latestBlockhash) { return __awaiter(void 0, void 0, void 0, function () {
500
- var simulationTx, _a, _b, simulationResult, _c, _d, _e;
501
- var _f;
502
- return __generator(this, function (_g) {
503
- switch (_g.label) {
504
- case 0:
505
- _a = appendTransactionMessageInstruction;
506
- _b = [ix];
507
- return [4 /*yield*/, createDefaultTransaction(solanaClient, signer, latestBlockhash)];
508
- case 1:
509
- simulationTx = _a.apply(void 0, _b.concat([_g.sent()]));
510
- _d = (_c = solanaClient)
511
- .simulateTransaction;
512
- _e = getBase64EncodedWireTransaction;
513
- return [4 /*yield*/, signTransactionMessageWithSigners(simulationTx)];
514
- case 2: return [4 /*yield*/, _d.apply(_c, [_e.apply(void 0, [_g.sent()]), {
515
- encoding: "base64",
516
- }])
517
- .send()];
518
- case 3:
519
- simulationResult = _g.sent();
520
- if (!((_f = simulationResult.value.returnData) === null || _f === void 0 ? void 0 : _f.data[0])) {
521
- throw new Error("svm::simulateAndDecode: simulateTransaction failed. No return data.");
522
- }
523
- return [2 /*return*/, parser(Buffer.from(simulationResult.value.returnData.data[0], "base64"))];
524
- }
525
- });
526
- }); };
337
+ export const simulateAndDecode = async (solanaClient, ix, signer, parser, latestBlockhash) => {
338
+ const simulationTx = appendTransactionMessageInstruction(ix, await createDefaultTransaction(solanaClient, signer, latestBlockhash));
339
+ const simulationResult = await solanaClient
340
+ .simulateTransaction(getBase64EncodedWireTransaction(await signTransactionMessageWithSigners(simulationTx)), {
341
+ encoding: "base64",
342
+ })
343
+ .send();
344
+ if (!simulationResult.value.returnData?.data[0]) {
345
+ throw new Error("svm::simulateAndDecode: simulateTransaction failed. No return data.");
346
+ }
347
+ return parser(Buffer.from(simulationResult.value.returnData.data[0], "base64"));
348
+ };
527
349
  /**
528
350
  * Converts a common `RelayData` type to an SvmSpokeClient.RelayData` type. This is useful for when we need
529
351
  * to interface directly with the SvmSpoke.
@@ -554,34 +376,24 @@ export function toSvmRelayData(relayData) {
554
376
  * @param sourceDomain The source domain.
555
377
  * @returns The PDA for the CCTP nonce.
556
378
  */
557
- export var getCCTPNoncePda = function (solanaClient, signer, nonce, sourceDomain, latestBlockhash) { return __awaiter(void 0, void 0, void 0, function () {
558
- var messageTransmitterPda, getNonceIx, parserFunction;
559
- return __generator(this, function (_a) {
560
- switch (_a.label) {
561
- case 0: return [4 /*yield*/, getProgramDerivedAddress({
562
- programAddress: MessageTransmitterClient.MESSAGE_TRANSMITTER_PROGRAM_ADDRESS,
563
- seeds: ["message_transmitter"],
564
- })];
565
- case 1:
566
- messageTransmitterPda = (_a.sent())[0];
567
- return [4 /*yield*/, MessageTransmitterClient.getGetNoncePdaInstruction({
568
- messageTransmitter: messageTransmitterPda,
569
- nonce: nonce,
570
- sourceDomain: sourceDomain,
571
- })];
572
- case 2:
573
- getNonceIx = _a.sent();
574
- parserFunction = function (buf) {
575
- if (buf.length === 32) {
576
- return address(bs58.encode(buf));
577
- }
578
- throw new Error("Invalid buffer");
579
- };
580
- return [4 /*yield*/, simulateAndDecode(solanaClient, getNonceIx, signer, parserFunction, latestBlockhash)];
581
- case 3: return [2 /*return*/, _a.sent()];
582
- }
379
+ export const getCCTPNoncePda = async (solanaClient, signer, nonce, sourceDomain, latestBlockhash) => {
380
+ const [messageTransmitterPda] = await getProgramDerivedAddress({
381
+ programAddress: MessageTransmitterClient.MESSAGE_TRANSMITTER_PROGRAM_ADDRESS,
382
+ seeds: ["message_transmitter"],
583
383
  });
584
- }); };
384
+ const getNonceIx = await MessageTransmitterClient.getGetNoncePdaInstruction({
385
+ messageTransmitter: messageTransmitterPda,
386
+ nonce,
387
+ sourceDomain: sourceDomain,
388
+ });
389
+ const parserFunction = (buf) => {
390
+ if (buf.length === 32) {
391
+ return address(bs58.encode(buf));
392
+ }
393
+ throw new Error("Invalid buffer");
394
+ };
395
+ return await simulateAndDecode(solanaClient, getNonceIx, signer, parserFunction, latestBlockhash);
396
+ };
585
397
  /**
586
398
  * Checks if a CCTP message is a deposit for burn event.
587
399
  * @param event The CCTP message event.
@@ -593,21 +405,21 @@ export function isDepositForBurnEvent(event) {
593
405
  /**
594
406
  * True if `body` encodes a `relayRootBundle(bytes32,bytes32)` call.
595
407
  */
596
- export var isRelayRootBundleMessageBody = function (body) {
408
+ export const isRelayRootBundleMessageBody = (body) => {
597
409
  if (body.length < 4)
598
410
  return false;
599
- var spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
600
- var relayRootBundleSelector = spokePoolInterface.getSighash("relayRootBundle");
411
+ const spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
412
+ const relayRootBundleSelector = spokePoolInterface.getSighash("relayRootBundle");
601
413
  return body.slice(0, 4).equals(Buffer.from(relayRootBundleSelector.slice(2), "hex"));
602
414
  };
603
415
  /**
604
416
  * True if `body` encodes a `emergencyDeleteRootBundle(uint32)` call.
605
417
  */
606
- export var isEmergencyDeleteRootBundleMessageBody = function (body) {
418
+ export const isEmergencyDeleteRootBundleMessageBody = (body) => {
607
419
  if (body.length < 4)
608
420
  return false;
609
- var spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
610
- var emergencyDeleteRootBundleSelector = spokePoolInterface.getSighash("emergencyDeleteRootBundle");
421
+ const spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
422
+ const emergencyDeleteRootBundleSelector = spokePoolInterface.getSighash("emergencyDeleteRootBundle");
611
423
  return body.slice(0, 4).equals(Buffer.from(emergencyDeleteRootBundleSelector.slice(2), "hex"));
612
424
  };
613
425
  /**
@@ -615,9 +427,9 @@ export var isEmergencyDeleteRootBundleMessageBody = function (body) {
615
427
  * @param body The message body.
616
428
  * @returns The root bundle ID.
617
429
  */
618
- export var getEmergencyDeleteRootBundleRootBundleId = function (body) {
619
- var spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
620
- var result = spokePoolInterface.decodeFunctionData("emergencyDeleteRootBundle", body);
430
+ export const getEmergencyDeleteRootBundleRootBundleId = (body) => {
431
+ const spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
432
+ const result = spokePoolInterface.decodeFunctionData("emergencyDeleteRootBundle", body);
621
433
  return result.rootBundleId.toNumber();
622
434
  };
623
435
  /**
@@ -629,11 +441,9 @@ export function bigintToU8a32(n) {
629
441
  if (n < BigInt(0) || n > ethers.constants.MaxUint256.toBigInt()) {
630
442
  throw new RangeError("Value must fit in 256 bits");
631
443
  }
632
- var hexPadded = ethers.utils.hexZeroPad("0x" + n.toString(16), 32);
444
+ const hexPadded = ethers.utils.hexZeroPad("0x" + n.toString(16), 32);
633
445
  return ethers.utils.arrayify(hexPadded);
634
446
  }
635
- export var bigToU8a32 = function (bn) {
636
- return bigintToU8a32(typeof bn === "bigint" ? bn : BigInt(bn.toString()));
637
- };
638
- export var numberToU8a32 = function (n) { return bigintToU8a32(BigInt(n)); };
447
+ export const bigToU8a32 = (bn) => bigintToU8a32(typeof bn === "bigint" ? bn : BigInt(bn.toString()));
448
+ export const numberToU8a32 = (n) => bigintToU8a32(BigInt(n));
639
449
  //# sourceMappingURL=utils.js.map