@across-protocol/sdk 4.1.63 → 4.2.1

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 (536) hide show
  1. package/dist/cjs/arch/evm/BlockUtils.d.ts +15 -0
  2. package/dist/cjs/arch/evm/BlockUtils.js +218 -0
  3. package/dist/cjs/arch/evm/BlockUtils.js.map +1 -0
  4. package/dist/cjs/arch/evm/SpokeUtils.d.ts +1 -1
  5. package/dist/cjs/arch/evm/SpokeUtils.js +6 -5
  6. package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
  7. package/dist/cjs/arch/evm/index.d.ts +1 -0
  8. package/dist/cjs/arch/evm/index.js +1 -0
  9. package/dist/cjs/arch/evm/index.js.map +1 -1
  10. package/dist/cjs/arch/svm/SpokeUtils.d.ts +20 -0
  11. package/dist/cjs/arch/svm/SpokeUtils.js +449 -0
  12. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -0
  13. package/dist/cjs/arch/svm/constants.d.ts +2 -0
  14. package/dist/cjs/arch/svm/constants.js +7 -0
  15. package/dist/cjs/arch/svm/constants.js.map +1 -0
  16. package/dist/cjs/arch/svm/eventsClient.d.ts +26 -0
  17. package/dist/cjs/arch/svm/eventsClient.js +253 -0
  18. package/dist/cjs/arch/svm/eventsClient.js.map +1 -0
  19. package/dist/cjs/arch/svm/index.d.ts +5 -1
  20. package/dist/cjs/arch/svm/index.js +6 -2
  21. package/dist/cjs/arch/svm/index.js.map +1 -1
  22. package/dist/cjs/{svm → arch/svm}/types.d.ts +9 -4
  23. package/dist/cjs/arch/svm/types.js.map +1 -0
  24. package/dist/cjs/arch/svm/utils.d.ts +18 -0
  25. package/dist/cjs/arch/svm/utils.js +212 -0
  26. package/dist/cjs/arch/svm/utils.js.map +1 -0
  27. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
  28. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +7 -7
  29. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  30. package/dist/cjs/clients/BaseAbstractClient.d.ts +6 -5
  31. package/dist/cjs/clients/BaseAbstractClient.js +30 -19
  32. package/dist/cjs/clients/BaseAbstractClient.js.map +1 -1
  33. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +15 -11
  34. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  35. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -1
  36. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  37. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
  38. package/dist/cjs/clients/HubPoolClient.d.ts +4 -3
  39. package/dist/cjs/clients/HubPoolClient.js +18 -17
  40. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  41. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
  42. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +23 -20
  43. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  44. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +23 -0
  45. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +172 -0
  46. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -0
  47. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +5 -5
  48. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +54 -57
  49. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  50. package/dist/cjs/clients/SpokePoolClient/index.d.ts +3 -0
  51. package/dist/cjs/clients/SpokePoolClient/index.js +8 -1
  52. package/dist/cjs/clients/SpokePoolClient/index.js.map +1 -1
  53. package/dist/cjs/clients/index.d.ts +1 -1
  54. package/dist/cjs/clients/index.js +2 -1
  55. package/dist/cjs/clients/index.js.map +1 -1
  56. package/dist/cjs/clients/mocks/MockConfigStoreClient.d.ts +1 -1
  57. package/dist/cjs/clients/mocks/MockConfigStoreClient.js +2 -2
  58. package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -1
  59. package/dist/cjs/clients/mocks/MockHubPoolClient.js +2 -2
  60. package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
  61. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +7 -4
  62. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  63. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.d.ts +33 -0
  64. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +184 -0
  65. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -0
  66. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.d.ts +30 -0
  67. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +90 -0
  68. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +1 -0
  69. package/dist/cjs/clients/mocks/index.d.ts +2 -0
  70. package/dist/cjs/clients/mocks/index.js +2 -0
  71. package/dist/cjs/clients/mocks/index.js.map +1 -1
  72. package/dist/cjs/coingecko/Coingecko.d.ts +3 -2
  73. package/dist/cjs/coingecko/Coingecko.js +11 -3
  74. package/dist/cjs/coingecko/Coingecko.js.map +1 -1
  75. package/dist/cjs/constants.d.ts +1 -0
  76. package/dist/cjs/constants.js +2 -1
  77. package/dist/cjs/constants.js.map +1 -1
  78. package/dist/cjs/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
  79. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  80. package/dist/cjs/gasPriceOracle/adapters/ethereum.d.ts +4 -4
  81. package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -1
  82. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js +3 -2
  83. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  84. package/dist/cjs/gasPriceOracle/adapters/polygon.d.ts +3 -3
  85. package/dist/cjs/gasPriceOracle/adapters/solana.d.ts +4 -0
  86. package/dist/cjs/gasPriceOracle/adapters/solana.js +43 -0
  87. package/dist/cjs/gasPriceOracle/adapters/solana.js.map +1 -0
  88. package/dist/cjs/gasPriceOracle/index.d.ts +1 -1
  89. package/dist/cjs/gasPriceOracle/oracle.d.ts +4 -3
  90. package/dist/cjs/gasPriceOracle/oracle.js +16 -9
  91. package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
  92. package/dist/cjs/gasPriceOracle/types.d.ts +6 -1
  93. package/dist/cjs/index.d.ts +0 -1
  94. package/dist/cjs/index.js +1 -2
  95. package/dist/cjs/index.js.map +1 -1
  96. package/dist/cjs/interfaces/SpokePool.d.ts +13 -0
  97. package/dist/cjs/interfaces/SpokePool.js.map +1 -1
  98. package/dist/cjs/providers/index.d.ts +1 -1
  99. package/dist/cjs/providers/index.js +1 -2
  100. package/dist/cjs/providers/index.js.map +1 -1
  101. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.d.ts +5 -0
  102. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +21 -0
  103. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -0
  104. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +5 -0
  105. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js +20 -0
  106. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -0
  107. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.d.ts +13 -0
  108. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js +76 -0
  109. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js.map +1 -0
  110. package/dist/cjs/providers/mocks/index.d.ts +4 -0
  111. package/dist/cjs/providers/mocks/index.js +8 -0
  112. package/dist/cjs/providers/mocks/index.js.map +1 -0
  113. package/dist/cjs/providers/{mockProvider.js → mocks/mockEthersProvider.js} +2 -2
  114. package/dist/cjs/providers/mocks/mockEthersProvider.js.map +1 -0
  115. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
  116. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +10 -8
  117. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  118. package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
  119. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +8 -2
  120. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  121. package/dist/cjs/relayFeeCalculator/chain-queries/index.d.ts +1 -0
  122. package/dist/cjs/relayFeeCalculator/chain-queries/index.js +1 -0
  123. package/dist/cjs/relayFeeCalculator/chain-queries/index.js.map +1 -1
  124. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +37 -0
  125. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +171 -0
  126. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -0
  127. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +2 -0
  128. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +9 -3
  129. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  130. package/dist/cjs/utils/AddressUtils.d.ts +9 -3
  131. package/dist/cjs/utils/AddressUtils.js +36 -6
  132. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  133. package/dist/cjs/utils/ArrayUtils.d.ts +1 -0
  134. package/dist/cjs/utils/ArrayUtils.js +6 -1
  135. package/dist/cjs/utils/ArrayUtils.js.map +1 -1
  136. package/dist/cjs/utils/BlockFinder.d.ts +22 -0
  137. package/dist/cjs/utils/BlockFinder.js +10 -0
  138. package/dist/cjs/utils/BlockFinder.js.map +1 -0
  139. package/dist/cjs/utils/BlockUtils.d.ts +2 -27
  140. package/dist/cjs/utils/BlockUtils.js +2 -208
  141. package/dist/cjs/utils/BlockUtils.js.map +1 -1
  142. package/dist/cjs/utils/EventUtils.d.ts +4 -4
  143. package/dist/cjs/utils/EventUtils.js +7 -4
  144. package/dist/cjs/utils/EventUtils.js.map +1 -1
  145. package/dist/cjs/utils/JSONUtils.js +3 -0
  146. package/dist/cjs/utils/JSONUtils.js.map +1 -1
  147. package/dist/cjs/utils/NumberUtils.d.ts +1 -0
  148. package/dist/cjs/utils/NumberUtils.js +7 -1
  149. package/dist/cjs/utils/NumberUtils.js.map +1 -1
  150. package/dist/cjs/utils/SpokeUtils.js +5 -0
  151. package/dist/cjs/utils/SpokeUtils.js.map +1 -1
  152. package/dist/cjs/utils/TokenUtils.js +4 -1
  153. package/dist/cjs/utils/TokenUtils.js.map +1 -1
  154. package/dist/cjs/utils/index.d.ts +1 -0
  155. package/dist/cjs/utils/index.js +1 -0
  156. package/dist/cjs/utils/index.js.map +1 -1
  157. package/dist/esm/arch/evm/BlockUtils.d.ts +24 -0
  158. package/dist/esm/arch/evm/BlockUtils.js +250 -0
  159. package/dist/esm/arch/evm/BlockUtils.js.map +1 -0
  160. package/dist/esm/arch/evm/SpokeUtils.d.ts +1 -1
  161. package/dist/esm/arch/evm/SpokeUtils.js +6 -5
  162. package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
  163. package/dist/esm/arch/evm/index.d.ts +1 -0
  164. package/dist/esm/arch/evm/index.js +1 -0
  165. package/dist/esm/arch/evm/index.js.map +1 -1
  166. package/dist/esm/arch/svm/SpokeUtils.d.ts +122 -0
  167. package/dist/esm/arch/svm/SpokeUtils.js +566 -0
  168. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -0
  169. package/dist/esm/arch/svm/constants.d.ts +2 -0
  170. package/dist/esm/arch/svm/constants.js +3 -0
  171. package/dist/esm/arch/svm/constants.js.map +1 -0
  172. package/dist/esm/arch/svm/eventsClient.d.ts +87 -0
  173. package/dist/esm/arch/svm/eventsClient.js +316 -0
  174. package/dist/esm/arch/svm/eventsClient.js.map +1 -0
  175. package/dist/esm/arch/svm/index.d.ts +5 -1
  176. package/dist/esm/arch/svm/index.js +5 -1
  177. package/dist/esm/arch/svm/index.js.map +1 -1
  178. package/dist/esm/{svm → arch/svm}/types.d.ts +9 -4
  179. package/dist/esm/arch/svm/types.js.map +1 -0
  180. package/dist/esm/arch/svm/utils.d.ts +63 -0
  181. package/dist/esm/arch/svm/utils.js +258 -0
  182. package/dist/esm/arch/svm/utils.js.map +1 -0
  183. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
  184. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +7 -7
  185. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  186. package/dist/esm/clients/BaseAbstractClient.d.ts +6 -5
  187. package/dist/esm/clients/BaseAbstractClient.js +30 -19
  188. package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
  189. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +17 -14
  190. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  191. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -1
  192. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  193. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
  194. package/dist/esm/clients/HubPoolClient.d.ts +4 -3
  195. package/dist/esm/clients/HubPoolClient.js +19 -18
  196. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  197. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
  198. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +23 -20
  199. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  200. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +66 -0
  201. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +225 -0
  202. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -0
  203. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +7 -7
  204. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +57 -59
  205. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  206. package/dist/esm/clients/SpokePoolClient/index.d.ts +8 -0
  207. package/dist/esm/clients/SpokePoolClient/index.js +10 -0
  208. package/dist/esm/clients/SpokePoolClient/index.js.map +1 -1
  209. package/dist/esm/clients/index.d.ts +1 -1
  210. package/dist/esm/clients/index.js +1 -1
  211. package/dist/esm/clients/index.js.map +1 -1
  212. package/dist/esm/clients/mocks/MockConfigStoreClient.d.ts +1 -1
  213. package/dist/esm/clients/mocks/MockConfigStoreClient.js +2 -2
  214. package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
  215. package/dist/esm/clients/mocks/MockHubPoolClient.js +2 -2
  216. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
  217. package/dist/esm/clients/mocks/MockSpokePoolClient.js +8 -5
  218. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  219. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.d.ts +33 -0
  220. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +183 -0
  221. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -0
  222. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.d.ts +30 -0
  223. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +89 -0
  224. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -0
  225. package/dist/esm/clients/mocks/index.d.ts +2 -0
  226. package/dist/esm/clients/mocks/index.js +2 -0
  227. package/dist/esm/clients/mocks/index.js.map +1 -1
  228. package/dist/esm/coingecko/Coingecko.d.ts +3 -2
  229. package/dist/esm/coingecko/Coingecko.js +12 -3
  230. package/dist/esm/coingecko/Coingecko.js.map +1 -1
  231. package/dist/esm/constants.d.ts +1 -0
  232. package/dist/esm/constants.js +1 -0
  233. package/dist/esm/constants.js.map +1 -1
  234. package/dist/esm/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
  235. package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  236. package/dist/esm/gasPriceOracle/adapters/ethereum.d.ts +4 -4
  237. package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -1
  238. package/dist/esm/gasPriceOracle/adapters/linea-viem.js +3 -2
  239. package/dist/esm/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  240. package/dist/esm/gasPriceOracle/adapters/polygon.d.ts +4 -4
  241. package/dist/esm/gasPriceOracle/adapters/polygon.js +1 -1
  242. package/dist/esm/gasPriceOracle/adapters/solana.d.ts +8 -0
  243. package/dist/esm/gasPriceOracle/adapters/solana.js +43 -0
  244. package/dist/esm/gasPriceOracle/adapters/solana.js.map +1 -0
  245. package/dist/esm/gasPriceOracle/index.d.ts +1 -1
  246. package/dist/esm/gasPriceOracle/oracle.d.ts +4 -3
  247. package/dist/esm/gasPriceOracle/oracle.js +18 -9
  248. package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
  249. package/dist/esm/gasPriceOracle/types.d.ts +6 -1
  250. package/dist/esm/index.d.ts +0 -1
  251. package/dist/esm/index.js +0 -2
  252. package/dist/esm/index.js.map +1 -1
  253. package/dist/esm/interfaces/SpokePool.d.ts +13 -0
  254. package/dist/esm/interfaces/SpokePool.js.map +1 -1
  255. package/dist/esm/providers/index.d.ts +1 -1
  256. package/dist/esm/providers/index.js +1 -2
  257. package/dist/esm/providers/index.js.map +1 -1
  258. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.d.ts +5 -0
  259. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +19 -0
  260. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -0
  261. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +5 -0
  262. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js +18 -0
  263. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -0
  264. package/dist/esm/providers/mocks/MockSolanaRpcFactory.d.ts +13 -0
  265. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js +74 -0
  266. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js.map +1 -0
  267. package/dist/esm/providers/mocks/index.d.ts +4 -0
  268. package/dist/esm/providers/mocks/index.js +5 -0
  269. package/dist/esm/providers/mocks/index.js.map +1 -0
  270. package/dist/esm/providers/{mockProvider.js → mocks/mockEthersProvider.js} +2 -2
  271. package/dist/esm/providers/mocks/mockEthersProvider.js.map +1 -0
  272. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
  273. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +10 -8
  274. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  275. package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
  276. package/dist/esm/relayFeeCalculator/chain-queries/factory.js +11 -5
  277. package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  278. package/dist/esm/relayFeeCalculator/chain-queries/index.d.ts +1 -0
  279. package/dist/esm/relayFeeCalculator/chain-queries/index.js +1 -0
  280. package/dist/esm/relayFeeCalculator/chain-queries/index.js.map +1 -1
  281. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +84 -0
  282. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +216 -0
  283. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -0
  284. package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
  285. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +9 -4
  286. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  287. package/dist/esm/utils/AddressUtils.d.ts +9 -3
  288. package/dist/esm/utils/AddressUtils.js +41 -6
  289. package/dist/esm/utils/AddressUtils.js.map +1 -1
  290. package/dist/esm/utils/ArrayUtils.d.ts +6 -0
  291. package/dist/esm/utils/ArrayUtils.js +9 -0
  292. package/dist/esm/utils/ArrayUtils.js.map +1 -1
  293. package/dist/esm/utils/BlockFinder.d.ts +22 -0
  294. package/dist/esm/utils/BlockFinder.js +7 -0
  295. package/dist/esm/utils/BlockFinder.js.map +1 -0
  296. package/dist/esm/utils/BlockUtils.d.ts +2 -36
  297. package/dist/esm/utils/BlockUtils.js +2 -243
  298. package/dist/esm/utils/BlockUtils.js.map +1 -1
  299. package/dist/esm/utils/EventUtils.d.ts +4 -4
  300. package/dist/esm/utils/EventUtils.js +7 -4
  301. package/dist/esm/utils/EventUtils.js.map +1 -1
  302. package/dist/esm/utils/JSONUtils.js +3 -0
  303. package/dist/esm/utils/JSONUtils.js.map +1 -1
  304. package/dist/esm/utils/NumberUtils.d.ts +7 -0
  305. package/dist/esm/utils/NumberUtils.js +11 -0
  306. package/dist/esm/utils/NumberUtils.js.map +1 -1
  307. package/dist/esm/utils/SpokeUtils.js +5 -0
  308. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  309. package/dist/esm/utils/TokenUtils.d.ts +12 -0
  310. package/dist/esm/utils/TokenUtils.js +6 -3
  311. package/dist/esm/utils/TokenUtils.js.map +1 -1
  312. package/dist/esm/utils/index.d.ts +1 -0
  313. package/dist/esm/utils/index.js +1 -0
  314. package/dist/esm/utils/index.js.map +1 -1
  315. package/dist/types/arch/evm/BlockUtils.d.ts +25 -0
  316. package/dist/types/arch/evm/BlockUtils.d.ts.map +1 -0
  317. package/dist/types/arch/evm/SpokeUtils.d.ts +1 -1
  318. package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
  319. package/dist/types/arch/evm/index.d.ts +1 -0
  320. package/dist/types/arch/evm/index.d.ts.map +1 -1
  321. package/dist/types/arch/svm/SpokeUtils.d.ts +123 -0
  322. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -0
  323. package/dist/types/arch/svm/constants.d.ts +3 -0
  324. package/dist/types/arch/svm/constants.d.ts.map +1 -0
  325. package/dist/types/arch/svm/eventsClient.d.ts +88 -0
  326. package/dist/types/arch/svm/eventsClient.d.ts.map +1 -0
  327. package/dist/types/arch/svm/index.d.ts +5 -1
  328. package/dist/types/arch/svm/index.d.ts.map +1 -1
  329. package/dist/types/{svm → arch/svm}/types.d.ts +9 -4
  330. package/dist/types/arch/svm/types.d.ts.map +1 -0
  331. package/dist/types/arch/svm/utils.d.ts +64 -0
  332. package/dist/types/arch/svm/utils.d.ts.map +1 -0
  333. package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
  334. package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -1
  335. package/dist/types/clients/BaseAbstractClient.d.ts +6 -5
  336. package/dist/types/clients/BaseAbstractClient.d.ts.map +1 -1
  337. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
  338. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
  339. package/dist/types/clients/HubPoolClient.d.ts +4 -3
  340. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  341. package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
  342. package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -1
  343. package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +67 -0
  344. package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -0
  345. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +7 -7
  346. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
  347. package/dist/types/clients/SpokePoolClient/index.d.ts +8 -0
  348. package/dist/types/clients/SpokePoolClient/index.d.ts.map +1 -1
  349. package/dist/types/clients/index.d.ts +1 -1
  350. package/dist/types/clients/index.d.ts.map +1 -1
  351. package/dist/types/clients/mocks/MockConfigStoreClient.d.ts +1 -1
  352. package/dist/types/clients/mocks/MockConfigStoreClient.d.ts.map +1 -1
  353. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
  354. package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts +34 -0
  355. package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts.map +1 -0
  356. package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts +31 -0
  357. package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts.map +1 -0
  358. package/dist/types/clients/mocks/index.d.ts +2 -0
  359. package/dist/types/clients/mocks/index.d.ts.map +1 -1
  360. package/dist/types/coingecko/Coingecko.d.ts +3 -2
  361. package/dist/types/coingecko/Coingecko.d.ts.map +1 -1
  362. package/dist/types/constants.d.ts +1 -0
  363. package/dist/types/constants.d.ts.map +1 -1
  364. package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
  365. package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts.map +1 -1
  366. package/dist/types/gasPriceOracle/adapters/ethereum.d.ts +4 -4
  367. package/dist/types/gasPriceOracle/adapters/ethereum.d.ts.map +1 -1
  368. package/dist/types/gasPriceOracle/adapters/linea-viem.d.ts.map +1 -1
  369. package/dist/types/gasPriceOracle/adapters/polygon.d.ts +4 -4
  370. package/dist/types/gasPriceOracle/adapters/polygon.d.ts.map +1 -1
  371. package/dist/types/gasPriceOracle/adapters/solana.d.ts +9 -0
  372. package/dist/types/gasPriceOracle/adapters/solana.d.ts.map +1 -0
  373. package/dist/types/gasPriceOracle/index.d.ts +1 -1
  374. package/dist/types/gasPriceOracle/index.d.ts.map +1 -1
  375. package/dist/types/gasPriceOracle/oracle.d.ts +4 -3
  376. package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -1
  377. package/dist/types/gasPriceOracle/types.d.ts +6 -1
  378. package/dist/types/gasPriceOracle/types.d.ts.map +1 -1
  379. package/dist/types/index.d.ts +0 -1
  380. package/dist/types/index.d.ts.map +1 -1
  381. package/dist/types/interfaces/SpokePool.d.ts +13 -0
  382. package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
  383. package/dist/types/providers/index.d.ts +1 -1
  384. package/dist/types/providers/index.d.ts.map +1 -1
  385. package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts +6 -0
  386. package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts.map +1 -0
  387. package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +6 -0
  388. package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts.map +1 -0
  389. package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts +14 -0
  390. package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts.map +1 -0
  391. package/dist/types/providers/mocks/index.d.ts +5 -0
  392. package/dist/types/providers/mocks/index.d.ts.map +1 -0
  393. package/dist/types/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +1 -1
  394. package/dist/types/providers/mocks/mockEthersProvider.d.ts.map +1 -0
  395. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
  396. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
  397. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
  398. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
  399. package/dist/types/relayFeeCalculator/chain-queries/index.d.ts +1 -0
  400. package/dist/types/relayFeeCalculator/chain-queries/index.d.ts.map +1 -1
  401. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +85 -0
  402. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -0
  403. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
  404. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
  405. package/dist/types/utils/AddressUtils.d.ts +9 -3
  406. package/dist/types/utils/AddressUtils.d.ts.map +1 -1
  407. package/dist/types/utils/ArrayUtils.d.ts +6 -0
  408. package/dist/types/utils/ArrayUtils.d.ts.map +1 -1
  409. package/dist/types/utils/BlockFinder.d.ts +23 -0
  410. package/dist/types/utils/BlockFinder.d.ts.map +1 -0
  411. package/dist/types/utils/BlockUtils.d.ts +2 -36
  412. package/dist/types/utils/BlockUtils.d.ts.map +1 -1
  413. package/dist/types/utils/EventUtils.d.ts +4 -4
  414. package/dist/types/utils/EventUtils.d.ts.map +1 -1
  415. package/dist/types/utils/JSONUtils.d.ts.map +1 -1
  416. package/dist/types/utils/NumberUtils.d.ts +7 -0
  417. package/dist/types/utils/NumberUtils.d.ts.map +1 -1
  418. package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
  419. package/dist/types/utils/TokenUtils.d.ts +12 -0
  420. package/dist/types/utils/TokenUtils.d.ts.map +1 -1
  421. package/dist/types/utils/index.d.ts +1 -0
  422. package/dist/types/utils/index.d.ts.map +1 -1
  423. package/package.json +3 -1
  424. package/src/arch/evm/BlockUtils.ts +209 -0
  425. package/src/arch/evm/SpokeUtils.ts +5 -5
  426. package/src/arch/evm/index.ts +1 -0
  427. package/src/arch/svm/SpokeUtils.ts +581 -0
  428. package/src/arch/svm/constants.ts +2 -0
  429. package/src/arch/svm/eventsClient.ts +342 -0
  430. package/src/arch/svm/index.ts +5 -1
  431. package/src/{svm → arch/svm}/types.ts +21 -4
  432. package/src/arch/svm/utils.ts +233 -0
  433. package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +7 -7
  434. package/src/clients/BaseAbstractClient.ts +20 -13
  435. package/src/clients/BundleDataClient/BundleDataClient.ts +28 -19
  436. package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +1 -1
  437. package/src/clients/HubPoolClient.ts +19 -19
  438. package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +23 -21
  439. package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +268 -0
  440. package/src/clients/SpokePoolClient/SpokePoolClient.ts +50 -59
  441. package/src/clients/SpokePoolClient/index.ts +11 -0
  442. package/src/clients/index.ts +1 -1
  443. package/src/clients/mocks/MockConfigStoreClient.ts +2 -2
  444. package/src/clients/mocks/MockHubPoolClient.ts +2 -2
  445. package/src/clients/mocks/MockSpokePoolClient.ts +9 -4
  446. package/src/clients/mocks/MockSvmCpiEventsClient.ts +226 -0
  447. package/src/clients/mocks/MockSvmSpokePoolClient.ts +119 -0
  448. package/src/clients/mocks/index.ts +2 -0
  449. package/src/coingecko/Coingecko.ts +12 -3
  450. package/src/constants.ts +1 -0
  451. package/src/gasPriceOracle/adapters/arbitrum.ts +5 -2
  452. package/src/gasPriceOracle/adapters/ethereum.ts +7 -4
  453. package/src/gasPriceOracle/adapters/linea-viem.ts +3 -1
  454. package/src/gasPriceOracle/adapters/polygon.ts +6 -6
  455. package/src/gasPriceOracle/adapters/solana.ts +47 -0
  456. package/src/gasPriceOracle/index.ts +1 -1
  457. package/src/gasPriceOracle/oracle.ts +20 -4
  458. package/src/gasPriceOracle/types.ts +7 -1
  459. package/src/index.ts +0 -1
  460. package/src/interfaces/SpokePool.ts +14 -0
  461. package/src/providers/index.ts +1 -1
  462. package/src/providers/mocks/MockCachedSolanaRpcFactory.ts +15 -0
  463. package/src/providers/mocks/MockRateLimitedSolanaRpcFactory.ts +14 -0
  464. package/src/providers/mocks/MockSolanaRpcFactory.ts +55 -0
  465. package/src/providers/mocks/index.ts +4 -0
  466. package/src/providers/{mockProvider.ts → mocks/mockEthersProvider.ts} +1 -1
  467. package/src/relayFeeCalculator/chain-queries/baseQuery.ts +11 -9
  468. package/src/relayFeeCalculator/chain-queries/factory.ts +24 -8
  469. package/src/relayFeeCalculator/chain-queries/index.ts +1 -0
  470. package/src/relayFeeCalculator/chain-queries/svmQuery.ts +225 -0
  471. package/src/relayFeeCalculator/relayFeeCalculator.ts +15 -3
  472. package/src/utils/AddressUtils.ts +49 -6
  473. package/src/utils/ArrayUtils.ts +12 -0
  474. package/src/utils/BlockFinder.ts +26 -0
  475. package/src/utils/BlockUtils.ts +5 -215
  476. package/src/utils/EventUtils.ts +11 -11
  477. package/src/utils/JSONUtils.ts +2 -0
  478. package/src/utils/NumberUtils.ts +10 -0
  479. package/src/utils/SpokeUtils.ts +7 -3
  480. package/src/utils/TokenUtils.ts +6 -3
  481. package/src/utils/index.ts +1 -0
  482. package/dist/cjs/providers/mockProvider.js.map +0 -1
  483. package/dist/cjs/svm/eventsClient.d.ts +0 -15
  484. package/dist/cjs/svm/eventsClient.js +0 -157
  485. package/dist/cjs/svm/eventsClient.js.map +0 -1
  486. package/dist/cjs/svm/index.d.ts +0 -3
  487. package/dist/cjs/svm/index.js +0 -8
  488. package/dist/cjs/svm/index.js.map +0 -1
  489. package/dist/cjs/svm/types.js.map +0 -1
  490. package/dist/cjs/svm/utils/events.d.ts +0 -8
  491. package/dist/cjs/svm/utils/events.js +0 -47
  492. package/dist/cjs/svm/utils/events.js.map +0 -1
  493. package/dist/cjs/svm/utils/helpers.d.ts +0 -2
  494. package/dist/cjs/svm/utils/helpers.js +0 -19
  495. package/dist/cjs/svm/utils/helpers.js.map +0 -1
  496. package/dist/cjs/svm/utils/index.d.ts +0 -1
  497. package/dist/cjs/svm/utils/index.js +0 -5
  498. package/dist/cjs/svm/utils/index.js.map +0 -1
  499. package/dist/esm/providers/mockProvider.js.map +0 -1
  500. package/dist/esm/svm/eventsClient.d.ts +0 -51
  501. package/dist/esm/svm/eventsClient.js +0 -195
  502. package/dist/esm/svm/eventsClient.js.map +0 -1
  503. package/dist/esm/svm/index.d.ts +0 -3
  504. package/dist/esm/svm/index.js +0 -5
  505. package/dist/esm/svm/index.js.map +0 -1
  506. package/dist/esm/svm/types.js.map +0 -1
  507. package/dist/esm/svm/utils/events.d.ts +0 -17
  508. package/dist/esm/svm/utils/events.js +0 -55
  509. package/dist/esm/svm/utils/events.js.map +0 -1
  510. package/dist/esm/svm/utils/helpers.d.ts +0 -5
  511. package/dist/esm/svm/utils/helpers.js +0 -18
  512. package/dist/esm/svm/utils/helpers.js.map +0 -1
  513. package/dist/esm/svm/utils/index.d.ts +0 -1
  514. package/dist/esm/svm/utils/index.js +0 -2
  515. package/dist/esm/svm/utils/index.js.map +0 -1
  516. package/dist/types/providers/mockProvider.d.ts.map +0 -1
  517. package/dist/types/svm/eventsClient.d.ts +0 -52
  518. package/dist/types/svm/eventsClient.d.ts.map +0 -1
  519. package/dist/types/svm/index.d.ts +0 -4
  520. package/dist/types/svm/index.d.ts.map +0 -1
  521. package/dist/types/svm/types.d.ts.map +0 -1
  522. package/dist/types/svm/utils/events.d.ts +0 -18
  523. package/dist/types/svm/utils/events.d.ts.map +0 -1
  524. package/dist/types/svm/utils/helpers.d.ts +0 -6
  525. package/dist/types/svm/utils/helpers.d.ts.map +0 -1
  526. package/dist/types/svm/utils/index.d.ts +0 -2
  527. package/dist/types/svm/utils/index.d.ts.map +0 -1
  528. package/src/svm/eventsClient.ts +0 -199
  529. package/src/svm/index.ts +0 -3
  530. package/src/svm/utils/events.ts +0 -58
  531. package/src/svm/utils/helpers.ts +0 -9
  532. package/src/svm/utils/index.ts +0 -1
  533. /package/dist/cjs/{svm → arch/svm}/types.js +0 -0
  534. /package/dist/cjs/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +0 -0
  535. /package/dist/esm/{svm → arch/svm}/types.js +0 -0
  536. /package/dist/esm/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +0 -0
@@ -0,0 +1,15 @@
1
+ import { Provider, Block as EthersBlock } from "@ethersproject/abstract-provider";
2
+ import { BlockFinder, type Block, type BlockFinderOpts as Opts, type BlockTimeAverage, type BlockFinderHints } from "../../utils/BlockFinder";
3
+ interface EVMBlock extends Block, EthersBlock {
4
+ }
5
+ export declare function averageBlockTime(provider: Provider, { highBlock, highBlockOffset, blockRange }?: Opts): Promise<Pick<BlockTimeAverage, "average" | "blockRange">>;
6
+ export declare class EVMBlockFinder extends BlockFinder<EVMBlock> {
7
+ private readonly provider;
8
+ private readonly blocks;
9
+ constructor(provider: Provider, blocks?: EVMBlock[]);
10
+ getBlockForTimestamp(timestamp: number | string, hints?: BlockFinderHints): Promise<EVMBlock>;
11
+ private getLatestBlock;
12
+ private getBlock;
13
+ private findBlock;
14
+ }
15
+ export {};
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.EVMBlockFinder = exports.averageBlockTime = void 0;
5
+ var tslib_1 = require("tslib");
6
+ var assert_1 = tslib_1.__importDefault(require("assert"));
7
+ var lodash_1 = require("lodash");
8
+ var NetworkUtils_1 = require("../../utils/NetworkUtils");
9
+ var TypeGuards_1 = require("../../utils/TypeGuards");
10
+ var BlockFinder_1 = require("../../utils/BlockFinder");
11
+ var TimeUtils_1 = require("../../utils/TimeUtils");
12
+ var constants_1 = require("../../constants");
13
+ var defaultBlockRange = 120;
14
+ var defaultHighBlockOffset = 10;
15
+ var cacheTTL = 60 * 15;
16
+ var now = (0, TimeUtils_1.getCurrentTime)();
17
+ var blockTimes = (_a = {},
18
+ _a[constants_1.CHAIN_IDs.INK] = { average: 1, timestamp: now, blockRange: 1 },
19
+ _a[constants_1.CHAIN_IDs.LINEA] = { average: 3, timestamp: now, blockRange: 1 },
20
+ _a[constants_1.CHAIN_IDs.MAINNET] = { average: 12.5, timestamp: now, blockRange: 1 },
21
+ _a[constants_1.CHAIN_IDs.OPTIMISM] = { average: 2, timestamp: now, blockRange: 1 },
22
+ _a[constants_1.CHAIN_IDs.UNICHAIN] = { average: 1, timestamp: now, blockRange: 1 },
23
+ _a);
24
+ function averageBlockTime(provider, _a) {
25
+ var _b;
26
+ var _c = _a === void 0 ? {} : _a, highBlock = _c.highBlock, highBlockOffset = _c.highBlockOffset, blockRange = _c.blockRange;
27
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
28
+ var chainId, cache, now, earliestBlockNumber, _d, firstBlock, lastBlock, average;
29
+ return tslib_1.__generator(this, function (_e) {
30
+ switch (_e.label) {
31
+ case 0: return [4, provider.getNetwork()];
32
+ case 1:
33
+ chainId = (_e.sent()).chainId;
34
+ cache = (_b = blockTimes[chainId]) !== null && _b !== void 0 ? _b : ((0, NetworkUtils_1.chainIsOPStack)(chainId) ? blockTimes[constants_1.CHAIN_IDs.OPTIMISM] : undefined);
35
+ now = (0, TimeUtils_1.getCurrentTime)();
36
+ if ((0, TypeGuards_1.isDefined)(cache) && now < cache.timestamp + cacheTTL) {
37
+ return [2, { average: cache.average, blockRange: cache.blockRange }];
38
+ }
39
+ if (!!(0, TypeGuards_1.isDefined)(highBlock)) return [3, 3];
40
+ return [4, provider.getBlockNumber()];
41
+ case 2:
42
+ highBlock = _e.sent();
43
+ highBlock -= highBlockOffset !== null && highBlockOffset !== void 0 ? highBlockOffset : defaultHighBlockOffset;
44
+ _e.label = 3;
45
+ case 3:
46
+ blockRange !== null && blockRange !== void 0 ? blockRange : (blockRange = defaultBlockRange);
47
+ earliestBlockNumber = highBlock - blockRange;
48
+ return [4, Promise.all([
49
+ provider.getBlock(earliestBlockNumber),
50
+ provider.getBlock(highBlock),
51
+ ])];
52
+ case 4:
53
+ _d = _e.sent(), firstBlock = _d[0], lastBlock = _d[1];
54
+ [firstBlock, lastBlock].forEach(function (block) {
55
+ if (!(0, TypeGuards_1.isDefined)(block === null || block === void 0 ? void 0 : block.timestamp)) {
56
+ var network = (0, NetworkUtils_1.getNetworkName)(chainId);
57
+ var blockNumber = block === firstBlock ? earliestBlockNumber : highBlock;
58
+ throw new Error("BlockFinder: Failed to fetch block ".concat(blockNumber, " on ").concat(network));
59
+ }
60
+ });
61
+ average = (lastBlock.timestamp - firstBlock.timestamp) / blockRange;
62
+ blockTimes[chainId] = { timestamp: now, average: average, blockRange: blockRange };
63
+ return [2, { average: average, blockRange: blockRange }];
64
+ }
65
+ });
66
+ });
67
+ }
68
+ exports.averageBlockTime = averageBlockTime;
69
+ function estimateBlocksElapsed(seconds, cushionPercentage, provider) {
70
+ if (cushionPercentage === void 0) { cushionPercentage = 0.0; }
71
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
72
+ var cushionMultiplier, average;
73
+ return tslib_1.__generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0:
76
+ cushionMultiplier = cushionPercentage + 1.0;
77
+ return [4, averageBlockTime(provider)];
78
+ case 1:
79
+ average = (_a.sent()).average;
80
+ return [2, Math.floor((seconds * cushionMultiplier) / average)];
81
+ }
82
+ });
83
+ });
84
+ }
85
+ var EVMBlockFinder = (function (_super) {
86
+ tslib_1.__extends(EVMBlockFinder, _super);
87
+ function EVMBlockFinder(provider, blocks) {
88
+ if (blocks === void 0) { blocks = []; }
89
+ var _this = _super.call(this) || this;
90
+ _this.provider = provider;
91
+ _this.blocks = blocks;
92
+ return _this;
93
+ }
94
+ EVMBlockFinder.prototype.getBlockForTimestamp = function (timestamp, hints) {
95
+ if (hints === void 0) { hints = {}; }
96
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
97
+ var block, initialBlock, cushion, incrementDistance, _a, _b, multiplier, distance, blockNumber, block, index;
98
+ var _this = this;
99
+ return tslib_1.__generator(this, function (_c) {
100
+ switch (_c.label) {
101
+ case 0:
102
+ timestamp = Number(timestamp);
103
+ (0, assert_1.default)(timestamp !== undefined && timestamp !== null, "timestamp must be provided");
104
+ if (!(this.blocks.length === 0 || this.blocks[this.blocks.length - 1].timestamp < timestamp)) return [3, 2];
105
+ return [4, this.getLatestBlock()];
106
+ case 1:
107
+ block = _c.sent();
108
+ if (timestamp >= block.timestamp)
109
+ return [2, block];
110
+ _c.label = 2;
111
+ case 2: return [4, Promise.all(Object.values(hints)
112
+ .filter(function (blockNumber) { return (0, TypeGuards_1.isDefined)(blockNumber); })
113
+ .map(function (blockNumber) { return _this.getBlock(blockNumber); }))];
114
+ case 3:
115
+ _c.sent();
116
+ if (!(this.blocks[0].timestamp > timestamp)) return [3, 8];
117
+ initialBlock = this.blocks[0];
118
+ cushion = 1;
119
+ _b = (_a = Math).max;
120
+ return [4, estimateBlocksElapsed(initialBlock.timestamp - timestamp, cushion, this.provider)];
121
+ case 4:
122
+ incrementDistance = _b.apply(_a, [_c.sent(), 1]);
123
+ multiplier = 1;
124
+ _c.label = 5;
125
+ case 5:
126
+ distance = multiplier * incrementDistance;
127
+ blockNumber = Math.max(0, initialBlock.number - distance);
128
+ return [4, this.getBlock(blockNumber)];
129
+ case 6:
130
+ block = _c.sent();
131
+ if (block.timestamp <= timestamp)
132
+ return [3, 8];
133
+ (0, assert_1.default)(blockNumber > 0, "timestamp is before block 0");
134
+ _c.label = 7;
135
+ case 7:
136
+ multiplier++;
137
+ return [3, 5];
138
+ case 8:
139
+ index = (0, lodash_1.sortedIndexBy)(this.blocks, { timestamp: timestamp }, "timestamp");
140
+ return [2, this.findBlock(this.blocks[index - 1], this.blocks[index], timestamp)];
141
+ }
142
+ });
143
+ });
144
+ };
145
+ EVMBlockFinder.prototype.getLatestBlock = function () {
146
+ var _a;
147
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
148
+ var block, index;
149
+ return tslib_1.__generator(this, function (_b) {
150
+ switch (_b.label) {
151
+ case 0: return [4, this.provider.getBlock("latest")];
152
+ case 1:
153
+ block = _b.sent();
154
+ index = (0, lodash_1.sortedIndexBy)(this.blocks, block, "number");
155
+ if (((_a = this.blocks[index]) === null || _a === void 0 ? void 0 : _a.number) !== block.number)
156
+ this.blocks.splice(index, 0, block);
157
+ return [2, this.blocks[index]];
158
+ }
159
+ });
160
+ });
161
+ };
162
+ EVMBlockFinder.prototype.getBlock = function (number) {
163
+ var _a, _b;
164
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
165
+ var index, block;
166
+ return tslib_1.__generator(this, function (_c) {
167
+ switch (_c.label) {
168
+ case 0:
169
+ index = (0, lodash_1.sortedIndexBy)(this.blocks, { number: number }, "number");
170
+ if (((_a = this.blocks[index]) === null || _a === void 0 ? void 0 : _a.number) === number)
171
+ return [2, this.blocks[index]];
172
+ return [4, this.provider.getBlock(number)];
173
+ case 1:
174
+ block = _c.sent();
175
+ index = (0, lodash_1.sortedIndexBy)(this.blocks, { number: number }, "number");
176
+ if (((_b = this.blocks[index]) === null || _b === void 0 ? void 0 : _b.number) === number)
177
+ return [2, this.blocks[index]];
178
+ this.blocks.splice(index, 0, block);
179
+ return [2, block];
180
+ }
181
+ });
182
+ });
183
+ };
184
+ EVMBlockFinder.prototype.findBlock = function (_startBlock, _endBlock, timestamp) {
185
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
186
+ var _a, startBlock, endBlock, totalTimeDifference, totalBlockDistance, blockPercentile, estimatedBlock, newBlock;
187
+ return tslib_1.__generator(this, function (_b) {
188
+ switch (_b.label) {
189
+ case 0:
190
+ _a = [_startBlock, _endBlock], startBlock = _a[0], endBlock = _a[1];
191
+ if (endBlock.timestamp === timestamp)
192
+ return [2, endBlock];
193
+ if (endBlock.number === startBlock.number + 1)
194
+ return [2, startBlock];
195
+ (0, assert_1.default)(endBlock.number !== startBlock.number, "startBlock cannot equal endBlock");
196
+ (0, assert_1.default)(timestamp < endBlock.timestamp && timestamp > startBlock.timestamp, "timestamp not in between start and end blocks");
197
+ totalTimeDifference = endBlock.timestamp - startBlock.timestamp;
198
+ totalBlockDistance = endBlock.number - startBlock.number;
199
+ blockPercentile = (timestamp - startBlock.timestamp) / totalTimeDifference;
200
+ estimatedBlock = startBlock.number + Math.round(blockPercentile * totalBlockDistance);
201
+ return [4, this.getBlock((0, lodash_1.clamp)(estimatedBlock, startBlock.number + 1, endBlock.number - 1))];
202
+ case 1:
203
+ newBlock = _b.sent();
204
+ if (newBlock.timestamp < timestamp) {
205
+ return [2, this.findBlock(newBlock, endBlock, timestamp)];
206
+ }
207
+ else {
208
+ return [2, this.findBlock(startBlock, newBlock, timestamp)];
209
+ }
210
+ return [2];
211
+ }
212
+ });
213
+ });
214
+ };
215
+ return EVMBlockFinder;
216
+ }(BlockFinder_1.BlockFinder));
217
+ exports.EVMBlockFinder = EVMBlockFinder;
218
+ //# sourceMappingURL=BlockUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockUtils.js","sourceRoot":"","sources":["../../../../src/arch/evm/BlockUtils.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare function getTimestampForBlock(provider: providers.Provider, block
8
8
  export declare function getMaxFillDeadlineInRange(spokePool: Contract, startBlock: number, endBlock: number): Promise<number>;
9
9
  export declare function getDepositIdAtBlock(contract: Contract, blockTag: number): Promise<BigNumber>;
10
10
  export declare function findDepositBlock(spokePool: Contract, depositId: BigNumber, lowBlock: number, highBlock?: number): Promise<number | undefined>;
11
- export declare function relayFillStatus(spokePool: Contract, relayData: RelayData, blockTag?: number | "latest", destinationChainId?: number): Promise<FillStatus>;
11
+ export declare function relayFillStatus(spokePool: Contract, relayData: RelayData, blockTag?: BlockTag, destinationChainId?: number): Promise<FillStatus>;
12
12
  export declare function fillStatusArray(spokePool: Contract, relayData: RelayData[], blockTag?: BlockTag): Promise<(FillStatus | undefined)[]>;
13
13
  export declare function findFillBlock(spokePool: Contract, relayData: RelayData, lowBlockNumber: number, highBlockNumber?: number): Promise<number | undefined>;
14
14
  export declare function findFillEvent(spokePool: Contract, relayData: RelayData, lowBlockNumber: number, highBlockNumber?: number): Promise<FillWithBlock | undefined>;
@@ -134,6 +134,7 @@ function findDepositBlock(spokePool, depositId, lowBlock, highBlock) {
134
134
  }
135
135
  exports.findDepositBlock = findDepositBlock;
136
136
  function relayFillStatus(spokePool, relayData, blockTag, destinationChainId) {
137
+ if (blockTag === void 0) { blockTag = "latest"; }
137
138
  return tslib_1.__awaiter(this, void 0, void 0, function () {
138
139
  var _a, hash, _fillStatus, fillStatus, originChainId, depositId;
139
140
  return tslib_1.__generator(this, function (_b) {
@@ -270,7 +271,7 @@ function findFillBlock(spokePool, relayData, lowBlockNumber, highBlockNumber) {
270
271
  exports.findFillBlock = findFillBlock;
271
272
  function findFillEvent(spokePool, relayData, lowBlockNumber, highBlockNumber) {
272
273
  return tslib_1.__awaiter(this, void 0, void 0, function () {
273
- var blockNumber, maxBlockLookBack, _a, fromBlock, toBlock, query, event, destinationChainId, _b, _c, fill;
274
+ var blockNumber, maxLookBack, _a, from, to, query, event, destinationChainId, _b, _c, fill;
274
275
  return tslib_1.__generator(this, function (_d) {
275
276
  switch (_d.label) {
276
277
  case 0: return [4, findFillBlock(spokePool, relayData, lowBlockNumber, highBlockNumber)];
@@ -278,11 +279,11 @@ function findFillEvent(spokePool, relayData, lowBlockNumber, highBlockNumber) {
278
279
  blockNumber = _d.sent();
279
280
  if (!blockNumber)
280
281
  return [2, undefined];
281
- maxBlockLookBack = 0;
282
- _a = [blockNumber, blockNumber], fromBlock = _a[0], toBlock = _a[1];
282
+ maxLookBack = 0;
283
+ _a = [blockNumber, blockNumber], from = _a[0], to = _a[1];
283
284
  return [4, Promise.all([
284
- (0, utils_1.paginatedEventQuery)(spokePool, spokePool.filters.FilledRelay(null, null, null, null, null, relayData.originChainId, relayData.depositId), { fromBlock: fromBlock, toBlock: toBlock, maxBlockLookBack: maxBlockLookBack }),
285
- (0, utils_1.paginatedEventQuery)(spokePool, spokePool.filters.FilledV3Relay(null, null, null, null, null, relayData.originChainId, relayData.depositId), { fromBlock: fromBlock, toBlock: toBlock, maxBlockLookBack: maxBlockLookBack }),
285
+ (0, utils_1.paginatedEventQuery)(spokePool, spokePool.filters.FilledRelay(null, null, null, null, null, relayData.originChainId, relayData.depositId), { from: from, to: to, maxLookBack: maxLookBack }),
286
+ (0, utils_1.paginatedEventQuery)(spokePool, spokePool.filters.FilledV3Relay(null, null, null, null, null, relayData.originChainId, relayData.depositId), { from: from, to: to, maxLookBack: maxLookBack }),
286
287
  ])];
287
288
  case 2:
288
289
  query = (_d.sent()).flat();
@@ -1 +1 @@
1
- {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../../src/arch/evm/SpokeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../../src/arch/evm/SpokeUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export * from "./SpokeUtils";
2
+ export * from "./BlockUtils";
@@ -2,4 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./SpokeUtils"), exports);
5
+ tslib_1.__exportStar(require("./BlockUtils"), exports);
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/arch/evm/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/arch/evm/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,uDAA6B"}
@@ -0,0 +1,20 @@
1
+ import { SvmSpokeClient } from "@across-protocol/contracts";
2
+ import { Address, type TransactionSigner } from "@solana/kit";
3
+ import { Logger } from "winston";
4
+ import { Deposit, DepositWithBlock, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
5
+ import { BigNumber, SvmAddress } from "../../utils";
6
+ import { SvmCpiEventsClient } from "./";
7
+ import { SVMProvider } from "./types";
8
+ export declare const SLOT_DURATION_MS = 400;
9
+ export declare function getTimestampForSlot(provider: SVMProvider, slotNumber: number): Promise<number>;
10
+ export declare function getFillDeadline(provider: SVMProvider, statePda: Address): Promise<number>;
11
+ export declare function getDepositIdAtBlock(_contract: unknown, _blockTag: number): Promise<BigNumber>;
12
+ export declare function findDeposit(eventClient: SvmCpiEventsClient, depositId: BigNumber, slot?: bigint, secondsLookback?: number): Promise<DepositWithBlock | undefined>;
13
+ export declare function relayFillStatus(programId: Address, relayData: RelayData, destinationChainId: number, svmEventsClient: SvmCpiEventsClient, atHeight?: number): Promise<FillStatus>;
14
+ export declare function fillStatusArray(programId: Address, relayData: RelayData[], destinationChainId: number, svmEventsClient: SvmCpiEventsClient, atHeight?: number, logger?: Logger): Promise<(FillStatus | undefined)[]>;
15
+ export declare function findFillEvent(relayData: RelayData, destinationChainId: number, svmEventsClient: SvmCpiEventsClient, fromSlot: number, toSlot?: number): Promise<FillWithBlock | undefined>;
16
+ export declare function fillRelayInstruction(spokePool: SvmAddress, deposit: Omit<Deposit, "messageHash">, relayer: TransactionSigner<string>, recipientTokenAccount: Address<string>, repaymentChainId?: number): Promise<SvmSpokeClient.FillRelayInstruction<Address<"JAZWcGrpSWNPTBj8QtJ9UyQqhJCDhG9GJkDeMf5NQBiq">, string, string, string, string, string, string, string, string, string, string, string, string, []>>;
17
+ export declare function createTokenAccountsInstruction(mint: SvmAddress, relayer: TransactionSigner<string>): SvmSpokeClient.CreateTokenAccountsInstruction;
18
+ export declare function createApproveInstruction(mint: SvmAddress, amount: BigNumber, relayer: SvmAddress, spokePool: SvmAddress, mintDecimals?: number): Promise<import("@solana-program/token").ApproveCheckedInstruction<Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">, string, string, string, string, []>>;
19
+ export declare function getAssociatedTokenAddress(owner: SvmAddress, mint: SvmAddress, tokenProgramId?: Address<string>): Promise<Address<string>>;
20
+ export declare function getRelayDataHash(relayData: RelayData, destinationChainId: number): string;