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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/dist/cjs/addressAggregator/adapters/abstract.js +64 -50
  2. package/dist/cjs/addressAggregator/adapters/abstract.js.map +1 -1
  3. package/dist/cjs/addressAggregator/adapters/bybit.js +29 -16
  4. package/dist/cjs/addressAggregator/adapters/bybit.js.map +1 -1
  5. package/dist/cjs/addressAggregator/adapters/env.js +15 -11
  6. package/dist/cjs/addressAggregator/adapters/env.js.map +1 -1
  7. package/dist/cjs/addressAggregator/adapters/file.js +45 -32
  8. package/dist/cjs/addressAggregator/adapters/file.js.map +1 -1
  9. package/dist/cjs/addressAggregator/adapters/index.js +1 -1
  10. package/dist/cjs/addressAggregator/adapters/risklabs.js +36 -22
  11. package/dist/cjs/addressAggregator/adapters/risklabs.js.map +1 -1
  12. package/dist/cjs/addressAggregator/index.js +87 -57
  13. package/dist/cjs/addressAggregator/index.js.map +1 -1
  14. package/dist/cjs/apiClient/abstractClient.js +8 -9
  15. package/dist/cjs/apiClient/abstractClient.js.map +1 -1
  16. package/dist/cjs/apiClient/index.js +1 -1
  17. package/dist/cjs/apiClient/mockedClient.js +29 -23
  18. package/dist/cjs/apiClient/mockedClient.js.map +1 -1
  19. package/dist/cjs/apiClient/productionClient.js +103 -65
  20. package/dist/cjs/apiClient/productionClient.js.map +1 -1
  21. package/dist/cjs/arch/evm/BlockUtils.js +208 -122
  22. package/dist/cjs/arch/evm/BlockUtils.js.map +1 -1
  23. package/dist/cjs/arch/evm/MessageUtils.js +1 -1
  24. package/dist/cjs/arch/evm/MessageUtils.js.map +1 -1
  25. package/dist/cjs/arch/evm/SpokeUtils.js +288 -134
  26. package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
  27. package/dist/cjs/arch/evm/index.js +1 -1
  28. package/dist/cjs/arch/evm/utils/index.js +1 -1
  29. package/dist/cjs/arch/evm/utils/wait.js +49 -38
  30. package/dist/cjs/arch/evm/utils/wait.js.map +1 -1
  31. package/dist/cjs/arch/index.js +1 -1
  32. package/dist/cjs/arch/svm/BlockUtils.js +158 -102
  33. package/dist/cjs/arch/svm/BlockUtils.js.map +1 -1
  34. package/dist/cjs/arch/svm/MessageUtils.js +2 -2
  35. package/dist/cjs/arch/svm/MessageUtils.js.map +1 -1
  36. package/dist/cjs/arch/svm/SpokeUtils.js +1147 -708
  37. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  38. package/dist/cjs/arch/svm/encoders.js +1 -1
  39. package/dist/cjs/arch/svm/encoders.js.map +1 -1
  40. package/dist/cjs/arch/svm/eventsClient.js +236 -174
  41. package/dist/cjs/arch/svm/eventsClient.js.map +1 -1
  42. package/dist/cjs/arch/svm/index.js +1 -1
  43. package/dist/cjs/arch/svm/provider.js +3 -3
  44. package/dist/cjs/arch/svm/provider.js.map +1 -1
  45. package/dist/cjs/arch/svm/utils.js +355 -166
  46. package/dist/cjs/arch/svm/utils.js.map +1 -1
  47. package/dist/cjs/caching/Arweave/ArweaveClient.js +246 -168
  48. package/dist/cjs/caching/Arweave/ArweaveClient.js.map +1 -1
  49. package/dist/cjs/caching/Arweave/index.js +1 -1
  50. package/dist/cjs/caching/IPFS/PinataIPFSClient.js +49 -40
  51. package/dist/cjs/caching/IPFS/PinataIPFSClient.js.map +1 -1
  52. package/dist/cjs/caching/IPFS/index.js +1 -1
  53. package/dist/cjs/caching/Memory/MemoryCacheClient.js +18 -13
  54. package/dist/cjs/caching/Memory/MemoryCacheClient.js.map +1 -1
  55. package/dist/cjs/caching/Memory/index.js +1 -1
  56. package/dist/cjs/caching/index.js +1 -1
  57. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +381 -302
  58. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  59. package/dist/cjs/clients/AcrossConfigStoreClient/index.js +1 -1
  60. package/dist/cjs/clients/BaseAbstractClient.js +83 -58
  61. package/dist/cjs/clients/BaseAbstractClient.js.map +1 -1
  62. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +900 -709
  63. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  64. package/dist/cjs/clients/BundleDataClient/index.js +1 -1
  65. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +128 -95
  66. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  67. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +53 -48
  68. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  69. package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js +8 -10
  70. package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
  71. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +90 -67
  72. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  73. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js +24 -46
  74. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
  75. package/dist/cjs/clients/BundleDataClient/utils/index.js +1 -1
  76. package/dist/cjs/clients/HubPoolClient.js +708 -526
  77. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  78. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +179 -133
  79. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  80. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +183 -124
  81. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  82. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +389 -357
  83. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  84. package/dist/cjs/clients/SpokePoolClient/SpokePoolClientManager.js +8 -9
  85. package/dist/cjs/clients/SpokePoolClient/SpokePoolClientManager.js.map +1 -1
  86. package/dist/cjs/clients/SpokePoolClient/index.js +3 -3
  87. package/dist/cjs/clients/SpokePoolClient/index.js.map +1 -1
  88. package/dist/cjs/clients/index.js +1 -1
  89. package/dist/cjs/clients/mocks/MockConfigStoreClient.js +67 -58
  90. package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -1
  91. package/dist/cjs/clients/mocks/MockEvents.js +52 -47
  92. package/dist/cjs/clients/mocks/MockEvents.js.map +1 -1
  93. package/dist/cjs/clients/mocks/MockHubPoolClient.js +185 -142
  94. package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
  95. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +192 -208
  96. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  97. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +143 -140
  98. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
  99. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +73 -57
  100. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
  101. package/dist/cjs/clients/mocks/index.js +1 -1
  102. package/dist/cjs/coingecko/Coingecko.js +437 -285
  103. package/dist/cjs/coingecko/Coingecko.js.map +1 -1
  104. package/dist/cjs/coingecko/index.js +1 -1
  105. package/dist/cjs/constants.js +30 -23
  106. package/dist/cjs/constants.js.map +1 -1
  107. package/dist/cjs/contracts/acrossConfigStore.js +48 -27
  108. package/dist/cjs/contracts/acrossConfigStore.js.map +1 -1
  109. package/dist/cjs/contracts/hubPool.js +20 -36
  110. package/dist/cjs/contracts/hubPool.js.map +1 -1
  111. package/dist/cjs/contracts/index.js +1 -1
  112. package/dist/cjs/contracts/utils.js +8 -6
  113. package/dist/cjs/contracts/utils.js.map +1 -1
  114. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js +16 -7
  115. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  116. package/dist/cjs/gasPriceOracle/adapters/ethereum.js +45 -26
  117. package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -1
  118. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js +28 -16
  119. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  120. package/dist/cjs/gasPriceOracle/adapters/polygon.js +112 -73
  121. package/dist/cjs/gasPriceOracle/adapters/polygon.js.map +1 -1
  122. package/dist/cjs/gasPriceOracle/adapters/solana.js +33 -20
  123. package/dist/cjs/gasPriceOracle/adapters/solana.js.map +1 -1
  124. package/dist/cjs/gasPriceOracle/oracle.js +104 -77
  125. package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
  126. package/dist/cjs/gasPriceOracle/types.js +3 -3
  127. package/dist/cjs/gasPriceOracle/types.js.map +1 -1
  128. package/dist/cjs/gasPriceOracle/util.js +8 -8
  129. package/dist/cjs/gasPriceOracle/util.js.map +1 -1
  130. package/dist/cjs/index.js +1 -1
  131. package/dist/cjs/interfaces/index.js +1 -1
  132. package/dist/cjs/lpFeeCalculator/index.js +1 -1
  133. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js +35 -33
  134. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
  135. package/dist/cjs/lpFeeCalculator/rateModel.js +9 -7
  136. package/dist/cjs/lpFeeCalculator/rateModel.js.map +1 -1
  137. package/dist/cjs/merkleDistributor/MerkleDistributor.js +18 -20
  138. package/dist/cjs/merkleDistributor/MerkleDistributor.js.map +1 -1
  139. package/dist/cjs/merkleDistributor/index.js +1 -1
  140. package/dist/cjs/merkleDistributor/model/index.js +1 -1
  141. package/dist/cjs/pool/TransactionManager.js +100 -45
  142. package/dist/cjs/pool/TransactionManager.js.map +1 -1
  143. package/dist/cjs/pool/index.js +1 -1
  144. package/dist/cjs/pool/poolClient.js +731 -464
  145. package/dist/cjs/pool/poolClient.js.map +1 -1
  146. package/dist/cjs/pool/uma/across/index.js +1 -1
  147. package/dist/cjs/pool/uma/across/transactionManager.js +100 -45
  148. package/dist/cjs/pool/uma/across/transactionManager.js.map +1 -1
  149. package/dist/cjs/pool/uma/clients/erc20/client.js +16 -18
  150. package/dist/cjs/pool/uma/clients/erc20/client.js.map +1 -1
  151. package/dist/cjs/pool/uma/clients/erc20/index.js +1 -1
  152. package/dist/cjs/pool/uma/clients/index.js +1 -1
  153. package/dist/cjs/pool/uma/index.js +1 -1
  154. package/dist/cjs/pool/uma/oracle/index.js +1 -1
  155. package/dist/cjs/pool/uma/oracle/utils.js +5 -4
  156. package/dist/cjs/pool/uma/oracle/utils.js.map +1 -1
  157. package/dist/cjs/pool/uma/utils.js +30 -11
  158. package/dist/cjs/pool/uma/utils.js.map +1 -1
  159. package/dist/cjs/priceClient/adapters/acrossApi.js +39 -22
  160. package/dist/cjs/priceClient/adapters/acrossApi.js.map +1 -1
  161. package/dist/cjs/priceClient/adapters/baseAdapter.js +73 -49
  162. package/dist/cjs/priceClient/adapters/baseAdapter.js.map +1 -1
  163. package/dist/cjs/priceClient/adapters/coingecko.js +61 -34
  164. package/dist/cjs/priceClient/adapters/coingecko.js.map +1 -1
  165. package/dist/cjs/priceClient/adapters/default.js +31 -16
  166. package/dist/cjs/priceClient/adapters/default.js.map +1 -1
  167. package/dist/cjs/priceClient/adapters/defiLlama.js +74 -40
  168. package/dist/cjs/priceClient/adapters/defiLlama.js.map +1 -1
  169. package/dist/cjs/priceClient/adapters/index.js +1 -1
  170. package/dist/cjs/priceClient/index.js +1 -1
  171. package/dist/cjs/priceClient/priceClient.js +159 -110
  172. package/dist/cjs/priceClient/priceClient.js.map +1 -1
  173. package/dist/cjs/providers/alchemy.js +19 -17
  174. package/dist/cjs/providers/alchemy.js.map +1 -1
  175. package/dist/cjs/providers/cachedProvider.js +129 -88
  176. package/dist/cjs/providers/cachedProvider.js.map +1 -1
  177. package/dist/cjs/providers/drpc.js +11 -9
  178. package/dist/cjs/providers/drpc.js.map +1 -1
  179. package/dist/cjs/providers/index.js +1 -1
  180. package/dist/cjs/providers/infura.js +12 -10
  181. package/dist/cjs/providers/infura.js.map +1 -1
  182. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +15 -7
  183. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
  184. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js +14 -6
  185. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
  186. package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js +15 -7
  187. package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
  188. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js +66 -42
  189. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js.map +1 -1
  190. package/dist/cjs/providers/mocks/index.js +1 -1
  191. package/dist/cjs/providers/mocks/mockEthersProvider.js +31 -29
  192. package/dist/cjs/providers/mocks/mockEthersProvider.js.map +1 -1
  193. package/dist/cjs/providers/quicknode.js +21 -19
  194. package/dist/cjs/providers/quicknode.js.map +1 -1
  195. package/dist/cjs/providers/rateLimitedProvider.js +79 -64
  196. package/dist/cjs/providers/rateLimitedProvider.js.map +1 -1
  197. package/dist/cjs/providers/retryProvider.js +246 -163
  198. package/dist/cjs/providers/retryProvider.js.map +1 -1
  199. package/dist/cjs/providers/solana/baseRpcFactories.js +18 -14
  200. package/dist/cjs/providers/solana/baseRpcFactories.js.map +1 -1
  201. package/dist/cjs/providers/solana/cachedRpcFactory.js +112 -70
  202. package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -1
  203. package/dist/cjs/providers/solana/defaultRpcFactory.js +15 -8
  204. package/dist/cjs/providers/solana/defaultRpcFactory.js.map +1 -1
  205. package/dist/cjs/providers/solana/index.js +1 -1
  206. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js +191 -135
  207. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
  208. package/dist/cjs/providers/solana/rateLimitedRpcFactory.js +90 -67
  209. package/dist/cjs/providers/solana/rateLimitedRpcFactory.js.map +1 -1
  210. package/dist/cjs/providers/solana/retryRpcFactory.js +79 -52
  211. package/dist/cjs/providers/solana/retryRpcFactory.js.map +1 -1
  212. package/dist/cjs/providers/solana/utils.js +2 -2
  213. package/dist/cjs/providers/solana/utils.js.map +1 -1
  214. package/dist/cjs/providers/speedProvider.js +53 -31
  215. package/dist/cjs/providers/speedProvider.js.map +1 -1
  216. package/dist/cjs/providers/types.js +1 -1
  217. package/dist/cjs/providers/types.js.map +1 -1
  218. package/dist/cjs/providers/utils.js +28 -26
  219. package/dist/cjs/providers/utils.js.map +1 -1
  220. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +162 -108
  221. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  222. package/dist/cjs/relayFeeCalculator/chain-queries/customGasToken.js +26 -14
  223. package/dist/cjs/relayFeeCalculator/chain-queries/customGasToken.js.map +1 -1
  224. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +29 -20
  225. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  226. package/dist/cjs/relayFeeCalculator/chain-queries/index.js +1 -1
  227. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +137 -88
  228. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  229. package/dist/cjs/relayFeeCalculator/index.js +1 -1
  230. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +297 -199
  231. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  232. package/dist/cjs/typeguards/error.js +7 -5
  233. package/dist/cjs/typeguards/error.js.map +1 -1
  234. package/dist/cjs/typeguards/index.js +1 -1
  235. package/dist/cjs/utils/AddressUtils.js +144 -117
  236. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  237. package/dist/cjs/utils/ArrayUtils.js +78 -21
  238. package/dist/cjs/utils/ArrayUtils.js.map +1 -1
  239. package/dist/cjs/utils/BigNumberUtils.js +10 -9
  240. package/dist/cjs/utils/BigNumberUtils.js.map +1 -1
  241. package/dist/cjs/utils/BlockExplorerUtils.js +30 -26
  242. package/dist/cjs/utils/BlockExplorerUtils.js.map +1 -1
  243. package/dist/cjs/utils/BlockFinder.js +5 -2
  244. package/dist/cjs/utils/BlockFinder.js.map +1 -1
  245. package/dist/cjs/utils/BlockUtils.js +41 -24
  246. package/dist/cjs/utils/BlockUtils.js.map +1 -1
  247. package/dist/cjs/utils/BundleUtils.js +24 -21
  248. package/dist/cjs/utils/BundleUtils.js.map +1 -1
  249. package/dist/cjs/utils/CCTPUtils.js +126 -62
  250. package/dist/cjs/utils/CCTPUtils.js.map +1 -1
  251. package/dist/cjs/utils/CachingUtils.js +42 -20
  252. package/dist/cjs/utils/CachingUtils.js.map +1 -1
  253. package/dist/cjs/utils/ContractUtils.js +5 -5
  254. package/dist/cjs/utils/ContractUtils.js.map +1 -1
  255. package/dist/cjs/utils/DepositUtils.js +99 -122
  256. package/dist/cjs/utils/DepositUtils.js.map +1 -1
  257. package/dist/cjs/utils/EventUtils.js +70 -49
  258. package/dist/cjs/utils/EventUtils.js.map +1 -1
  259. package/dist/cjs/utils/FormattingUtils.js +32 -26
  260. package/dist/cjs/utils/FormattingUtils.js.map +1 -1
  261. package/dist/cjs/utils/HyperLiquidUtils.js +23 -10
  262. package/dist/cjs/utils/HyperLiquidUtils.js.map +1 -1
  263. package/dist/cjs/utils/IPFSUtils.js +34 -16
  264. package/dist/cjs/utils/IPFSUtils.js.map +1 -1
  265. package/dist/cjs/utils/JSONUtils.js +6 -6
  266. package/dist/cjs/utils/JSONUtils.js.map +1 -1
  267. package/dist/cjs/utils/LogUtils.js +12 -10
  268. package/dist/cjs/utils/LogUtils.js.map +1 -1
  269. package/dist/cjs/utils/Multicall.js +115 -56
  270. package/dist/cjs/utils/Multicall.js.map +1 -1
  271. package/dist/cjs/utils/NetworkUtils.js +28 -12
  272. package/dist/cjs/utils/NetworkUtils.js.map +1 -1
  273. package/dist/cjs/utils/NumberUtils.js +3 -1
  274. package/dist/cjs/utils/NumberUtils.js.map +1 -1
  275. package/dist/cjs/utils/ObjectUtils.js +41 -27
  276. package/dist/cjs/utils/ObjectUtils.js.map +1 -1
  277. package/dist/cjs/utils/Profiler.js +83 -80
  278. package/dist/cjs/utils/Profiler.js.map +1 -1
  279. package/dist/cjs/utils/ReviverUtils.js +9 -5
  280. package/dist/cjs/utils/ReviverUtils.js.map +1 -1
  281. package/dist/cjs/utils/SpokeUtils.js +84 -84
  282. package/dist/cjs/utils/SpokeUtils.js.map +1 -1
  283. package/dist/cjs/utils/TokenUtils.js +64 -41
  284. package/dist/cjs/utils/TokenUtils.js.map +1 -1
  285. package/dist/cjs/utils/TypeGuards.js +1 -1
  286. package/dist/cjs/utils/TypeGuards.js.map +1 -1
  287. package/dist/cjs/utils/ValidatorUtils.js +7 -7
  288. package/dist/cjs/utils/ValidatorUtils.js.map +1 -1
  289. package/dist/cjs/utils/abi/contracts/index.js +1 -1
  290. package/dist/cjs/utils/abi/index.js +22 -12
  291. package/dist/cjs/utils/abi/index.js.map +1 -1
  292. package/dist/cjs/utils/abi/typechain/factories/Multicall3__factory.js +12 -9
  293. package/dist/cjs/utils/abi/typechain/factories/Multicall3__factory.js.map +1 -1
  294. package/dist/cjs/utils/abi/typechain/index.js +1 -1
  295. package/dist/cjs/utils/common.js +53 -40
  296. package/dist/cjs/utils/common.js.map +1 -1
  297. package/dist/cjs/utils/index.js +1 -1
  298. package/dist/esm/addressAggregator/adapters/abstract.js +64 -48
  299. package/dist/esm/addressAggregator/adapters/abstract.js.map +1 -1
  300. package/dist/esm/addressAggregator/adapters/bybit.js +29 -15
  301. package/dist/esm/addressAggregator/adapters/bybit.js.map +1 -1
  302. package/dist/esm/addressAggregator/adapters/env.js +14 -9
  303. package/dist/esm/addressAggregator/adapters/env.js.map +1 -1
  304. package/dist/esm/addressAggregator/adapters/file.js +43 -29
  305. package/dist/esm/addressAggregator/adapters/file.js.map +1 -1
  306. package/dist/esm/addressAggregator/adapters/risklabs.js +35 -20
  307. package/dist/esm/addressAggregator/adapters/risklabs.js.map +1 -1
  308. package/dist/esm/addressAggregator/index.js +83 -52
  309. package/dist/esm/addressAggregator/index.js.map +1 -1
  310. package/dist/esm/addressAggregator/types.js +1 -1
  311. package/dist/esm/addressAggregator/types.js.map +1 -1
  312. package/dist/esm/apiClient/abstractClient.js +9 -15
  313. package/dist/esm/apiClient/abstractClient.js.map +1 -1
  314. package/dist/esm/apiClient/mockedClient.js +26 -21
  315. package/dist/esm/apiClient/mockedClient.js.map +1 -1
  316. package/dist/esm/apiClient/productionClient.js +101 -61
  317. package/dist/esm/apiClient/productionClient.js.map +1 -1
  318. package/dist/esm/arch/evm/BlockUtils.js +217 -139
  319. package/dist/esm/arch/evm/BlockUtils.js.map +1 -1
  320. package/dist/esm/arch/evm/SpokeUtils.js +289 -146
  321. package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
  322. package/dist/esm/arch/evm/utils/wait.js +46 -34
  323. package/dist/esm/arch/evm/utils/wait.js.map +1 -1
  324. package/dist/esm/arch/svm/BlockUtils.js +166 -118
  325. package/dist/esm/arch/svm/BlockUtils.js.map +1 -1
  326. package/dist/esm/arch/svm/SpokeUtils.js +1150 -738
  327. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  328. package/dist/esm/arch/svm/constants.js +1 -1
  329. package/dist/esm/arch/svm/constants.js.map +1 -1
  330. package/dist/esm/arch/svm/eventsClient.js +232 -172
  331. package/dist/esm/arch/svm/eventsClient.js.map +1 -1
  332. package/dist/esm/arch/svm/provider.js +1 -1
  333. package/dist/esm/arch/svm/provider.js.map +1 -1
  334. package/dist/esm/arch/svm/utils.js +345 -155
  335. package/dist/esm/arch/svm/utils.js.map +1 -1
  336. package/dist/esm/caching/Arweave/ArweaveClient.js +256 -182
  337. package/dist/esm/caching/Arweave/ArweaveClient.js.map +1 -1
  338. package/dist/esm/caching/IPFS/PinataIPFSClient.js +48 -47
  339. package/dist/esm/caching/IPFS/PinataIPFSClient.js.map +1 -1
  340. package/dist/esm/caching/Memory/MemoryCacheClient.js +19 -13
  341. package/dist/esm/caching/Memory/MemoryCacheClient.js.map +1 -1
  342. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +408 -333
  343. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  344. package/dist/esm/clients/BaseAbstractClient.js +92 -66
  345. package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
  346. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +1054 -927
  347. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  348. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +131 -102
  349. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  350. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +59 -57
  351. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  352. package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js +5 -7
  353. package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
  354. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +94 -75
  355. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  356. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js +23 -45
  357. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
  358. package/dist/esm/clients/HubPoolClient.js +740 -581
  359. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  360. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +178 -133
  361. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  362. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +183 -126
  363. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  364. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +399 -372
  365. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  366. package/dist/esm/clients/SpokePoolClient/SpokePoolClientManager.js +9 -9
  367. package/dist/esm/clients/SpokePoolClient/SpokePoolClientManager.js.map +1 -1
  368. package/dist/esm/clients/SpokePoolClient/index.js +2 -2
  369. package/dist/esm/clients/SpokePoolClient/index.js.map +1 -1
  370. package/dist/esm/clients/SpokePoolClient/types.js +2 -2
  371. package/dist/esm/clients/SpokePoolClient/types.js.map +1 -1
  372. package/dist/esm/clients/mocks/MockConfigStoreClient.js +64 -53
  373. package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
  374. package/dist/esm/clients/mocks/MockEvents.js +49 -42
  375. package/dist/esm/clients/mocks/MockEvents.js.map +1 -1
  376. package/dist/esm/clients/mocks/MockHubPoolClient.js +182 -138
  377. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
  378. package/dist/esm/clients/mocks/MockSpokePoolClient.js +188 -202
  379. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  380. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +132 -127
  381. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
  382. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +69 -53
  383. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
  384. package/dist/esm/coingecko/Coingecko.js +443 -298
  385. package/dist/esm/coingecko/Coingecko.js.map +1 -1
  386. package/dist/esm/constants.js +47 -40
  387. package/dist/esm/constants.js.map +1 -1
  388. package/dist/esm/contracts/acrossConfigStore.js +46 -24
  389. package/dist/esm/contracts/acrossConfigStore.js.map +1 -1
  390. package/dist/esm/contracts/hubPool.js +18 -34
  391. package/dist/esm/contracts/hubPool.js.map +1 -1
  392. package/dist/esm/contracts/utils.js +5 -3
  393. package/dist/esm/contracts/utils.js.map +1 -1
  394. package/dist/esm/gasPriceOracle/adapters/arbitrum.js +14 -6
  395. package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  396. package/dist/esm/gasPriceOracle/adapters/ethereum.js +42 -22
  397. package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -1
  398. package/dist/esm/gasPriceOracle/adapters/linea-viem.js +25 -13
  399. package/dist/esm/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  400. package/dist/esm/gasPriceOracle/adapters/polygon.js +108 -72
  401. package/dist/esm/gasPriceOracle/adapters/polygon.js.map +1 -1
  402. package/dist/esm/gasPriceOracle/adapters/solana.js +31 -22
  403. package/dist/esm/gasPriceOracle/adapters/solana.js.map +1 -1
  404. package/dist/esm/gasPriceOracle/oracle.js +96 -70
  405. package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
  406. package/dist/esm/gasPriceOracle/types.js +2 -2
  407. package/dist/esm/gasPriceOracle/types.js.map +1 -1
  408. package/dist/esm/gasPriceOracle/util.js +4 -4
  409. package/dist/esm/gasPriceOracle/util.js.map +1 -1
  410. package/dist/esm/lpFeeCalculator/lpFeeCalculator.js +33 -30
  411. package/dist/esm/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
  412. package/dist/esm/lpFeeCalculator/rateModel.js +9 -7
  413. package/dist/esm/lpFeeCalculator/rateModel.js.map +1 -1
  414. package/dist/esm/merkleDistributor/MerkleDistributor.js +17 -18
  415. package/dist/esm/merkleDistributor/MerkleDistributor.js.map +1 -1
  416. package/dist/esm/pool/TransactionManager.js +100 -45
  417. package/dist/esm/pool/TransactionManager.js.map +1 -1
  418. package/dist/esm/pool/poolClient.js +740 -479
  419. package/dist/esm/pool/poolClient.js.map +1 -1
  420. package/dist/esm/pool/uma/across/constants.js +2 -2
  421. package/dist/esm/pool/uma/across/constants.js.map +1 -1
  422. package/dist/esm/pool/uma/across/transactionManager.js +100 -45
  423. package/dist/esm/pool/uma/across/transactionManager.js.map +1 -1
  424. package/dist/esm/pool/uma/clients/erc20/client.js +13 -15
  425. package/dist/esm/pool/uma/clients/erc20/client.js.map +1 -1
  426. package/dist/esm/pool/uma/oracle/utils.js +3 -2
  427. package/dist/esm/pool/uma/oracle/utils.js.map +1 -1
  428. package/dist/esm/pool/uma/utils.js +28 -9
  429. package/dist/esm/pool/uma/utils.js.map +1 -1
  430. package/dist/esm/priceClient/adapters/acrossApi.js +40 -21
  431. package/dist/esm/priceClient/adapters/acrossApi.js.map +1 -1
  432. package/dist/esm/priceClient/adapters/baseAdapter.js +72 -46
  433. package/dist/esm/priceClient/adapters/baseAdapter.js.map +1 -1
  434. package/dist/esm/priceClient/adapters/coingecko.js +61 -33
  435. package/dist/esm/priceClient/adapters/coingecko.js.map +1 -1
  436. package/dist/esm/priceClient/adapters/default.js +31 -15
  437. package/dist/esm/priceClient/adapters/default.js.map +1 -1
  438. package/dist/esm/priceClient/adapters/defiLlama.js +73 -38
  439. package/dist/esm/priceClient/adapters/defiLlama.js.map +1 -1
  440. package/dist/esm/priceClient/priceClient.js +158 -109
  441. package/dist/esm/priceClient/priceClient.js.map +1 -1
  442. package/dist/esm/providers/alchemy.js +18 -16
  443. package/dist/esm/providers/alchemy.js.map +1 -1
  444. package/dist/esm/providers/cachedProvider.js +134 -99
  445. package/dist/esm/providers/cachedProvider.js.map +1 -1
  446. package/dist/esm/providers/constants.js +3 -3
  447. package/dist/esm/providers/constants.js.map +1 -1
  448. package/dist/esm/providers/drpc.js +10 -8
  449. package/dist/esm/providers/drpc.js.map +1 -1
  450. package/dist/esm/providers/infura.js +11 -9
  451. package/dist/esm/providers/infura.js.map +1 -1
  452. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +15 -6
  453. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
  454. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js +14 -5
  455. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
  456. package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js +15 -6
  457. package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
  458. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js +66 -41
  459. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js.map +1 -1
  460. package/dist/esm/providers/mocks/mockEthersProvider.js +30 -27
  461. package/dist/esm/providers/mocks/mockEthersProvider.js.map +1 -1
  462. package/dist/esm/providers/quicknode.js +20 -18
  463. package/dist/esm/providers/quicknode.js.map +1 -1
  464. package/dist/esm/providers/rateLimitedProvider.js +80 -68
  465. package/dist/esm/providers/rateLimitedProvider.js.map +1 -1
  466. package/dist/esm/providers/retryProvider.js +259 -186
  467. package/dist/esm/providers/retryProvider.js.map +1 -1
  468. package/dist/esm/providers/solana/baseRpcFactories.js +19 -13
  469. package/dist/esm/providers/solana/baseRpcFactories.js.map +1 -1
  470. package/dist/esm/providers/solana/cachedRpcFactory.js +112 -75
  471. package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -1
  472. package/dist/esm/providers/solana/defaultRpcFactory.js +14 -6
  473. package/dist/esm/providers/solana/defaultRpcFactory.js.map +1 -1
  474. package/dist/esm/providers/solana/quorumFallbackRpcFactory.js +202 -149
  475. package/dist/esm/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
  476. package/dist/esm/providers/solana/rateLimitedRpcFactory.js +90 -70
  477. package/dist/esm/providers/solana/rateLimitedRpcFactory.js.map +1 -1
  478. package/dist/esm/providers/solana/retryRpcFactory.js +74 -50
  479. package/dist/esm/providers/solana/retryRpcFactory.js.map +1 -1
  480. package/dist/esm/providers/solana/utils.js +1 -1
  481. package/dist/esm/providers/solana/utils.js.map +1 -1
  482. package/dist/esm/providers/speedProvider.js +51 -28
  483. package/dist/esm/providers/speedProvider.js.map +1 -1
  484. package/dist/esm/providers/types.js +2 -2
  485. package/dist/esm/providers/types.js.map +1 -1
  486. package/dist/esm/providers/utils.js +20 -17
  487. package/dist/esm/providers/utils.js.map +1 -1
  488. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +152 -98
  489. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  490. package/dist/esm/relayFeeCalculator/chain-queries/customGasToken.js +26 -13
  491. package/dist/esm/relayFeeCalculator/chain-queries/customGasToken.js.map +1 -1
  492. package/dist/esm/relayFeeCalculator/chain-queries/factory.js +19 -9
  493. package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  494. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +128 -83
  495. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  496. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +299 -211
  497. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  498. package/dist/esm/typeguards/error.js +5 -3
  499. package/dist/esm/typeguards/error.js.map +1 -1
  500. package/dist/esm/utils/AddressUtils.js +147 -115
  501. package/dist/esm/utils/AddressUtils.js.map +1 -1
  502. package/dist/esm/utils/ArrayUtils.js +78 -21
  503. package/dist/esm/utils/ArrayUtils.js.map +1 -1
  504. package/dist/esm/utils/BigNumberUtils.js +12 -11
  505. package/dist/esm/utils/BigNumberUtils.js.map +1 -1
  506. package/dist/esm/utils/BlockExplorerUtils.js +23 -19
  507. package/dist/esm/utils/BlockExplorerUtils.js.map +1 -1
  508. package/dist/esm/utils/BlockFinder.js +6 -2
  509. package/dist/esm/utils/BlockFinder.js.map +1 -1
  510. package/dist/esm/utils/BlockUtils.js +40 -31
  511. package/dist/esm/utils/BlockUtils.js.map +1 -1
  512. package/dist/esm/utils/BundleUtils.js +24 -21
  513. package/dist/esm/utils/BundleUtils.js.map +1 -1
  514. package/dist/esm/utils/CCTPUtils.js +123 -62
  515. package/dist/esm/utils/CCTPUtils.js.map +1 -1
  516. package/dist/esm/utils/CachingUtils.js +38 -17
  517. package/dist/esm/utils/CachingUtils.js.map +1 -1
  518. package/dist/esm/utils/ContractUtils.js +3 -3
  519. package/dist/esm/utils/ContractUtils.js.map +1 -1
  520. package/dist/esm/utils/DepositUtils.js +98 -121
  521. package/dist/esm/utils/DepositUtils.js.map +1 -1
  522. package/dist/esm/utils/EventUtils.js +69 -52
  523. package/dist/esm/utils/EventUtils.js.map +1 -1
  524. package/dist/esm/utils/FormattingUtils.js +26 -20
  525. package/dist/esm/utils/FormattingUtils.js.map +1 -1
  526. package/dist/esm/utils/HyperLiquidUtils.js +22 -8
  527. package/dist/esm/utils/HyperLiquidUtils.js.map +1 -1
  528. package/dist/esm/utils/IPFSUtils.js +35 -16
  529. package/dist/esm/utils/IPFSUtils.js.map +1 -1
  530. package/dist/esm/utils/JSONUtils.js +4 -4
  531. package/dist/esm/utils/JSONUtils.js.map +1 -1
  532. package/dist/esm/utils/LogUtils.js +12 -8
  533. package/dist/esm/utils/LogUtils.js.map +1 -1
  534. package/dist/esm/utils/Multicall.js +110 -50
  535. package/dist/esm/utils/Multicall.js.map +1 -1
  536. package/dist/esm/utils/NetworkUtils.js +28 -12
  537. package/dist/esm/utils/NetworkUtils.js.map +1 -1
  538. package/dist/esm/utils/NumberUtils.js +3 -1
  539. package/dist/esm/utils/NumberUtils.js.map +1 -1
  540. package/dist/esm/utils/ObjectUtils.js +41 -27
  541. package/dist/esm/utils/ObjectUtils.js.map +1 -1
  542. package/dist/esm/utils/Profiler.js +82 -77
  543. package/dist/esm/utils/Profiler.js.map +1 -1
  544. package/dist/esm/utils/ReviverUtils.js +7 -3
  545. package/dist/esm/utils/ReviverUtils.js.map +1 -1
  546. package/dist/esm/utils/SpokeUtils.js +78 -83
  547. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  548. package/dist/esm/utils/TokenUtils.js +57 -33
  549. package/dist/esm/utils/TokenUtils.js.map +1 -1
  550. package/dist/esm/utils/ValidatorUtils.js +4 -4
  551. package/dist/esm/utils/ValidatorUtils.js.map +1 -1
  552. package/dist/esm/utils/abi/index.js +20 -10
  553. package/dist/esm/utils/abi/index.js.map +1 -1
  554. package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js +12 -8
  555. package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js.map +1 -1
  556. package/dist/esm/utils/common.js +52 -38
  557. package/dist/esm/utils/common.js.map +1 -1
  558. package/dist/types/constants.d.ts.map +1 -1
  559. package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -1
  560. package/dist/types/utils/Multicall.d.ts.map +1 -1
  561. package/dist/types/utils/NetworkUtils.d.ts.map +1 -1
  562. package/package.json +3 -3
  563. package/src/constants.ts +1 -0
  564. package/src/gasPriceOracle/oracle.ts +1 -0
  565. package/src/utils/Multicall.ts +1 -0
  566. package/src/utils/NetworkUtils.ts +8 -1
@@ -1,3 +1,4 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
1
2
  import { MessageTransmitterClient, SpokePool__factory, SvmSpokeClient } from "@across-protocol/contracts";
2
3
  import { BN, BorshEventCoder } from "@coral-xyz/anchor";
3
4
  import { address, appendTransactionMessageInstruction, createTransactionMessage, getAddressEncoder, getBase64EncodedWireTransaction, getProgramDerivedAddress, getU32Encoder, getU64Encoder, isAddress, pipe, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, } from "@solana/kit";
@@ -11,20 +12,34 @@ import { SVMEventNames } from "./types";
11
12
  /**
12
13
  * Basic void TransactionSigner type
13
14
  */
14
- export const SolanaVoidSigner = (simulationAddress) => {
15
+ export var SolanaVoidSigner = function (simulationAddress) {
15
16
  return {
16
17
  address: address(simulationAddress),
17
- signAndSendTransactions: async () => {
18
- return await Promise.resolve([]);
19
- },
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
+ }); },
20
26
  };
21
27
  };
22
28
  /**
23
29
  * Helper to determine if the current RPC network is devnet.
24
30
  */
25
- export async function isDevnet(rpc) {
26
- const genesisHash = await rpc.getGenesisHash().send();
27
- return genesisHash === "EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG";
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
+ });
28
43
  }
29
44
  /**
30
45
  * Small utility to convert an Address to a Solana Kit branded type.
@@ -38,36 +53,75 @@ export function toAddress(address) {
38
53
  * @param opts An object containing a specific slot number, or a Solana commitment, defaulting to "confirmed".
39
54
  * @returns An object containing the slot number and the relevant timestamp for the block.
40
55
  */
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 };
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
+ });
50
87
  }
51
88
  /**
52
89
  * Resolve the latest finalized slot, and then work backwards to find the nearest slot containing a block.
53
90
  * In most cases the first-resolved slot should also have a block. Avoid making arbitrary decisions about
54
91
  * how many slots to rotate through.
55
92
  */
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);
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
+ });
71
125
  }
72
126
  /**
73
127
  * Parses event data from a transaction.
@@ -83,7 +137,7 @@ export function parseEventData(eventData) {
83
137
  return new Uint8Array(eventData);
84
138
  }
85
139
  if (typeof eventData === "object") {
86
- const stringTag = Object.prototype.toString.call(eventData);
140
+ var stringTag = Object.prototype.toString.call(eventData);
87
141
  if (stringTag.includes("PublicKey")) {
88
142
  return address(eventData.toString());
89
143
  }
@@ -91,7 +145,10 @@ export function parseEventData(eventData) {
91
145
  return BigInt(eventData.toString());
92
146
  }
93
147
  // Convert each key from snake_case to camelCase and process the value recursively.
94
- return Object.fromEntries(Object.entries(eventData).map(([key, value]) => [snakeToCamel(key), parseEventData(value)]));
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
+ }));
95
152
  }
96
153
  return eventData;
97
154
  }
@@ -99,9 +156,9 @@ export function parseEventData(eventData) {
99
156
  * Decodes a raw event according to a supplied IDL.
100
157
  */
101
158
  export function decodeEvent(idl, rawEvent) {
102
- const event = new BorshEventCoder(idl).decode(rawEvent);
159
+ var event = new BorshEventCoder(idl).decode(rawEvent);
103
160
  if (!event)
104
- throw new Error(`Malformed rawEvent for IDL ${idl.address}: ${rawEvent}`);
161
+ throw new Error("Malformed rawEvent for IDL ".concat(idl.address, ": ").concat(rawEvent));
105
162
  return {
106
163
  name: event.name,
107
164
  data: parseEventData(event.data),
@@ -111,28 +168,29 @@ export function decodeEvent(idl, rawEvent) {
111
168
  * Converts a snake_case string to camelCase.
112
169
  */
113
170
  function snakeToCamel(s) {
114
- return s.replace(/(_\w)/g, (match) => match[1].toUpperCase());
171
+ return s.replace(/(_\w)/g, function (match) { return match[1].toUpperCase(); });
115
172
  }
116
173
  /**
117
174
  * Gets the event name from a raw name.
118
175
  */
119
176
  export function getEventName(rawName) {
120
- if (Object.values(SVMEventNames).some((name) => rawName.includes(name)))
177
+ if (Object.values(SVMEventNames).some(function (name) { return rawName.includes(name); }))
121
178
  return rawName;
122
- throw new Error(`Unknown event name: ${rawName}`);
179
+ throw new Error("Unknown event name: ".concat(rawName));
123
180
  }
124
181
  /**
125
182
  * Unwraps any data structure and converts Address types to strings and Uint8Array to hex or BigInt.
126
183
  * Recursively processes nested objects and arrays.
127
184
  */
128
- export function unwrapEventData(data, uint8ArrayKeysAsBigInt = ["depositId", "outputAmount", "inputAmount"], currentKey) {
185
+ export function unwrapEventData(data, uint8ArrayKeysAsBigInt, currentKey) {
186
+ if (uint8ArrayKeysAsBigInt === void 0) { uint8ArrayKeysAsBigInt = ["depositId", "outputAmount", "inputAmount"]; }
129
187
  // Handle null/undefined
130
188
  if (data == null) {
131
189
  return data;
132
190
  }
133
191
  // Handle BigInt
134
192
  if (typeof data === "bigint") {
135
- const bigIntKeysAsNumber = ["originChainId", "destinationChainId", "repaymentChainId", "chainId"];
193
+ var bigIntKeysAsNumber = ["originChainId", "destinationChainId", "repaymentChainId", "chainId"];
136
194
  if (currentKey && bigIntKeysAsNumber.includes(currentKey)) {
137
195
  return Number(data);
138
196
  }
@@ -140,8 +198,8 @@ export function unwrapEventData(data, uint8ArrayKeysAsBigInt = ["depositId", "ou
140
198
  }
141
199
  // Handle Uint8Array and byte arrays
142
200
  if (data instanceof Uint8Array || isUint8Array(data)) {
143
- const bytes = data instanceof Uint8Array ? data : new Uint8Array(data);
144
- const hex = ethers.utils.hexlify(bytes);
201
+ var bytes = data instanceof Uint8Array ? data : new Uint8Array(data);
202
+ var hex = ethers.utils.hexlify(bytes);
145
203
  if (currentKey && uint8ArrayKeysAsBigInt.includes(currentKey)) {
146
204
  return BigNumber.from(hex);
147
205
  }
@@ -149,7 +207,7 @@ export function unwrapEventData(data, uint8ArrayKeysAsBigInt = ["depositId", "ou
149
207
  }
150
208
  // Handle regular arrays (non-byte arrays)
151
209
  if (Array.isArray(data)) {
152
- return data.map((item) => unwrapEventData(item, uint8ArrayKeysAsBigInt));
210
+ return data.map(function (item) { return unwrapEventData(item, uint8ArrayKeysAsBigInt); });
153
211
  }
154
212
  // Handle strings (potential addresses)
155
213
  if (typeof data === "string" && isAddress(data)) {
@@ -160,7 +218,7 @@ export function unwrapEventData(data, uint8ArrayKeysAsBigInt = ["depositId", "ou
160
218
  // Special case: if an object is in the context of the fillType key, then
161
219
  // parse out the fillType from the object
162
220
  if (currentKey === "fillType") {
163
- const fillType = Object.keys(data)[0];
221
+ var fillType = Object.keys(data)[0];
164
222
  switch (fillType) {
165
223
  case "FastFill":
166
224
  return FillType.FastFill;
@@ -169,17 +227,20 @@ export function unwrapEventData(data, uint8ArrayKeysAsBigInt = ["depositId", "ou
169
227
  case "SlowFill":
170
228
  return FillType.SlowFill;
171
229
  default:
172
- throw new Error(`Unknown fill type: ${fillType}`);
230
+ throw new Error("Unknown fill type: ".concat(fillType));
173
231
  }
174
232
  }
175
233
  // Special case: if an object is empty, return 0x
176
234
  if (Object.keys(data).length === 0) {
177
235
  return "0x";
178
236
  }
179
- return Object.fromEntries(Object.entries(data).map(([key, value]) => [
180
- key,
181
- unwrapEventData(value, uint8ArrayKeysAsBigInt, key),
182
- ]));
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
+ }));
183
244
  }
184
245
  // Return primitives as is
185
246
  return data;
@@ -189,14 +250,24 @@ export function unwrapEventData(data, uint8ArrayKeysAsBigInt = ["depositId", "ou
189
250
  * @param programId The SpokePool program ID.
190
251
  * @returns The PDA for the State account.
191
252
  */
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],
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
+ });
198
270
  });
199
- return statePda;
200
271
  }
201
272
  /**
202
273
  * Returns the fill status PDA for the given relay data.
@@ -205,15 +276,26 @@ export async function getStatePda(programId) {
205
276
  * @param destinationChainId The destination chain ID.
206
277
  * @returns The PDA for the fill status.
207
278
  */
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],
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
+ });
215
298
  });
216
- return fillStatusPda;
217
299
  }
218
300
  /**
219
301
  * Returns the PDA for a route account on SVM Spoke.
@@ -222,55 +304,95 @@ export async function getFillStatusPda(programId, relayData, destinationChainId)
222
304
  * @param routeChainId The route chain ID.
223
305
  * @returns The PDA for the route account.
224
306
  */
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)],
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
+ });
231
324
  });
232
- return pda;
233
325
  }
234
326
  /**
235
327
  * Returns the PDA for the SVM Spoke's transfer liability account.
236
328
  * @param programId the address of the spoke pool.
237
329
  * @param originToken the address of the corresponding token.
238
330
  */
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)],
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
+ });
244
347
  });
245
- return pda;
246
348
  }
247
349
  /**
248
350
  * Returns the PDA for the SVM Spoke's root bundle account.
249
351
  * @param programId the address of the spoke pool.
250
352
  * @param rootBundleId the associated root bundle ID.
251
353
  */
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)],
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
+ });
259
372
  });
260
- return pda;
261
373
  }
262
374
  /**
263
375
  * Returns the PDA for the SVM Spoke's instruction params account.
264
376
  * @param programId the address of the spoke pool.
265
377
  * @param signer the signer of the authenticated call.
266
378
  */
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)],
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
+ });
272
395
  });
273
- return pda;
274
396
  }
275
397
  /**
276
398
  * Returns the PDA for an individual's claim account.
@@ -278,42 +400,68 @@ export async function getInstructionParamsPda(programId, signer) {
278
400
  * @param mint the address of the token.
279
401
  * @param tokenOwner the address of the signer which owns the claim account.
280
402
  */
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)],
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
+ });
286
419
  });
287
- return pda;
288
420
  }
289
421
  /**
290
422
  * Returns the PDA for the Event Authority.
291
423
  * @returns The PDA for the Event Authority.
292
424
  */
293
- export async function getEventAuthority(programId) {
294
- const [eventAuthority] = await getProgramDerivedAddress({
295
- programAddress: programId,
296
- seeds: ["__event_authority"],
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
+ });
297
439
  });
298
- return eventAuthority;
299
440
  }
300
441
  /**
301
442
  * Returns the PDA for the Self Authority.
302
443
  * @returns The PDA for the Self Authority.
303
444
  */
304
- export const getSelfAuthority = async () => {
305
- const [selfAuthority] = await getProgramDerivedAddress({
306
- programAddress: address(SvmSpokeClient.SVM_SPOKE_PROGRAM_ADDRESS),
307
- seeds: ["self_authority"],
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
+ }
308
457
  });
309
- return selfAuthority;
310
- };
458
+ }); };
311
459
  /**
312
460
  * Returns a random SVM address.
313
461
  */
314
462
  export function getRandomSvmAddress() {
315
- const bytes = ethers.utils.randomBytes(32);
316
- const base58Address = bs58.encode(bytes);
463
+ var bytes = ethers.utils.randomBytes(32);
464
+ var base58Address = bs58.encode(bytes);
317
465
  return address(base58Address);
318
466
  }
319
467
  /**
@@ -322,10 +470,24 @@ export function getRandomSvmAddress() {
322
470
  * @param signer - The signer of the transaction.
323
471
  * @returns The default transaction.
324
472
  */
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
- };
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
+ }); };
329
491
  /**
330
492
  * Simulates a transaction and decodes the result using a parser function.
331
493
  * @param solanaClient - The Solana client.
@@ -334,18 +496,34 @@ export const createDefaultTransaction = async (rpcClient, signer, latestBlockhas
334
496
  * @param parser - The parser function to decode the result.
335
497
  * @returns The decoded result.
336
498
  */
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
- };
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
+ }); };
349
527
  /**
350
528
  * Converts a common `RelayData` type to an SvmSpokeClient.RelayData` type. This is useful for when we need
351
529
  * to interface directly with the SvmSpoke.
@@ -376,24 +554,34 @@ export function toSvmRelayData(relayData) {
376
554
  * @param sourceDomain The source domain.
377
555
  * @returns The PDA for the CCTP nonce.
378
556
  */
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"],
383
- });
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));
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()];
392
582
  }
393
- throw new Error("Invalid buffer");
394
- };
395
- return await simulateAndDecode(solanaClient, getNonceIx, signer, parserFunction, latestBlockhash);
396
- };
583
+ });
584
+ }); };
397
585
  /**
398
586
  * Checks if a CCTP message is a deposit for burn event.
399
587
  * @param event The CCTP message event.
@@ -405,21 +593,21 @@ export function isDepositForBurnEvent(event) {
405
593
  /**
406
594
  * True if `body` encodes a `relayRootBundle(bytes32,bytes32)` call.
407
595
  */
408
- export const isRelayRootBundleMessageBody = (body) => {
596
+ export var isRelayRootBundleMessageBody = function (body) {
409
597
  if (body.length < 4)
410
598
  return false;
411
- const spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
412
- const relayRootBundleSelector = spokePoolInterface.getSighash("relayRootBundle");
599
+ var spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
600
+ var relayRootBundleSelector = spokePoolInterface.getSighash("relayRootBundle");
413
601
  return body.slice(0, 4).equals(Buffer.from(relayRootBundleSelector.slice(2), "hex"));
414
602
  };
415
603
  /**
416
604
  * True if `body` encodes a `emergencyDeleteRootBundle(uint32)` call.
417
605
  */
418
- export const isEmergencyDeleteRootBundleMessageBody = (body) => {
606
+ export var isEmergencyDeleteRootBundleMessageBody = function (body) {
419
607
  if (body.length < 4)
420
608
  return false;
421
- const spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
422
- const emergencyDeleteRootBundleSelector = spokePoolInterface.getSighash("emergencyDeleteRootBundle");
609
+ var spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
610
+ var emergencyDeleteRootBundleSelector = spokePoolInterface.getSighash("emergencyDeleteRootBundle");
423
611
  return body.slice(0, 4).equals(Buffer.from(emergencyDeleteRootBundleSelector.slice(2), "hex"));
424
612
  };
425
613
  /**
@@ -427,9 +615,9 @@ export const isEmergencyDeleteRootBundleMessageBody = (body) => {
427
615
  * @param body The message body.
428
616
  * @returns The root bundle ID.
429
617
  */
430
- export const getEmergencyDeleteRootBundleRootBundleId = (body) => {
431
- const spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
432
- const result = spokePoolInterface.decodeFunctionData("emergencyDeleteRootBundle", body);
618
+ export var getEmergencyDeleteRootBundleRootBundleId = function (body) {
619
+ var spokePoolInterface = new ethers.utils.Interface(SpokePool__factory.abi);
620
+ var result = spokePoolInterface.decodeFunctionData("emergencyDeleteRootBundle", body);
433
621
  return result.rootBundleId.toNumber();
434
622
  };
435
623
  /**
@@ -441,9 +629,11 @@ export function bigintToU8a32(n) {
441
629
  if (n < BigInt(0) || n > ethers.constants.MaxUint256.toBigInt()) {
442
630
  throw new RangeError("Value must fit in 256 bits");
443
631
  }
444
- const hexPadded = ethers.utils.hexZeroPad("0x" + n.toString(16), 32);
632
+ var hexPadded = ethers.utils.hexZeroPad("0x" + n.toString(16), 32);
445
633
  return ethers.utils.arrayify(hexPadded);
446
634
  }
447
- export const bigToU8a32 = (bn) => bigintToU8a32(typeof bn === "bigint" ? bn : BigInt(bn.toString()));
448
- export const numberToU8a32 = (n) => bigintToU8a32(BigInt(n));
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)); };
449
639
  //# sourceMappingURL=utils.js.map