@across-protocol/sdk 4.1.63-alpha.1 → 4.1.63-beta.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 (363) hide show
  1. package/dist/cjs/arch/evm/SpokeUtils.d.ts +1 -1
  2. package/dist/cjs/arch/evm/SpokeUtils.js +6 -5
  3. package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
  4. package/dist/cjs/arch/svm/SpokeUtils.d.ts +20 -0
  5. package/dist/cjs/arch/svm/SpokeUtils.js +424 -0
  6. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -0
  7. package/dist/cjs/arch/svm/constants.d.ts +2 -0
  8. package/dist/cjs/arch/svm/constants.js +7 -0
  9. package/dist/cjs/arch/svm/constants.js.map +1 -0
  10. package/dist/cjs/arch/svm/eventsClient.d.ts +26 -0
  11. package/dist/cjs/arch/svm/eventsClient.js +253 -0
  12. package/dist/cjs/arch/svm/eventsClient.js.map +1 -0
  13. package/dist/cjs/arch/svm/index.d.ts +5 -1
  14. package/dist/cjs/arch/svm/index.js +6 -2
  15. package/dist/cjs/arch/svm/index.js.map +1 -1
  16. package/dist/cjs/{svm → arch/svm}/types.d.ts +9 -4
  17. package/dist/cjs/arch/svm/types.js.map +1 -0
  18. package/dist/cjs/arch/svm/utils.d.ts +17 -0
  19. package/dist/cjs/arch/svm/utils.js +204 -0
  20. package/dist/cjs/arch/svm/utils.js.map +1 -0
  21. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
  22. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +7 -7
  23. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  24. package/dist/cjs/clients/BaseAbstractClient.d.ts +6 -5
  25. package/dist/cjs/clients/BaseAbstractClient.js +30 -19
  26. package/dist/cjs/clients/BaseAbstractClient.js.map +1 -1
  27. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +15 -11
  28. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  29. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -1
  30. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  31. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
  32. package/dist/cjs/clients/HubPoolClient.d.ts +1 -1
  33. package/dist/cjs/clients/HubPoolClient.js +16 -16
  34. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  35. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
  36. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +23 -20
  37. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  38. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +23 -0
  39. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +145 -0
  40. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -0
  41. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +5 -5
  42. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +50 -54
  43. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  44. package/dist/cjs/clients/SpokePoolClient/index.d.ts +3 -0
  45. package/dist/cjs/clients/SpokePoolClient/index.js +8 -1
  46. package/dist/cjs/clients/SpokePoolClient/index.js.map +1 -1
  47. package/dist/cjs/clients/index.d.ts +1 -1
  48. package/dist/cjs/clients/index.js +2 -1
  49. package/dist/cjs/clients/index.js.map +1 -1
  50. package/dist/cjs/clients/mocks/MockConfigStoreClient.d.ts +1 -1
  51. package/dist/cjs/clients/mocks/MockConfigStoreClient.js +2 -2
  52. package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -1
  53. package/dist/cjs/clients/mocks/MockHubPoolClient.js +2 -2
  54. package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
  55. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +7 -4
  56. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  57. package/dist/cjs/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
  58. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  59. package/dist/cjs/gasPriceOracle/adapters/ethereum.d.ts +4 -4
  60. package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -1
  61. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js +3 -2
  62. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  63. package/dist/cjs/gasPriceOracle/adapters/polygon.d.ts +3 -3
  64. package/dist/cjs/gasPriceOracle/adapters/solana.d.ts +4 -0
  65. package/dist/cjs/gasPriceOracle/adapters/solana.js +43 -0
  66. package/dist/cjs/gasPriceOracle/adapters/solana.js.map +1 -0
  67. package/dist/cjs/gasPriceOracle/index.d.ts +1 -1
  68. package/dist/cjs/gasPriceOracle/oracle.d.ts +4 -3
  69. package/dist/cjs/gasPriceOracle/oracle.js +16 -9
  70. package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
  71. package/dist/cjs/gasPriceOracle/types.d.ts +6 -1
  72. package/dist/cjs/index.d.ts +0 -1
  73. package/dist/cjs/index.js +1 -2
  74. package/dist/cjs/index.js.map +1 -1
  75. package/dist/cjs/interfaces/SpokePool.d.ts +13 -0
  76. package/dist/cjs/interfaces/SpokePool.js.map +1 -1
  77. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
  78. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +5 -4
  79. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  80. package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
  81. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +7 -1
  82. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  83. package/dist/cjs/relayFeeCalculator/chain-queries/index.d.ts +1 -0
  84. package/dist/cjs/relayFeeCalculator/chain-queries/index.js +1 -0
  85. package/dist/cjs/relayFeeCalculator/chain-queries/index.js.map +1 -1
  86. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +31 -0
  87. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +136 -0
  88. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -0
  89. package/dist/cjs/utils/AddressUtils.d.ts +9 -3
  90. package/dist/cjs/utils/AddressUtils.js +36 -6
  91. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  92. package/dist/cjs/utils/ArrayUtils.d.ts +1 -0
  93. package/dist/cjs/utils/ArrayUtils.js +6 -1
  94. package/dist/cjs/utils/ArrayUtils.js.map +1 -1
  95. package/dist/cjs/utils/EventUtils.d.ts +4 -4
  96. package/dist/cjs/utils/EventUtils.js +7 -4
  97. package/dist/cjs/utils/EventUtils.js.map +1 -1
  98. package/dist/cjs/utils/JSONUtils.js +3 -0
  99. package/dist/cjs/utils/JSONUtils.js.map +1 -1
  100. package/dist/cjs/utils/SpokeUtils.js +5 -0
  101. package/dist/cjs/utils/SpokeUtils.js.map +1 -1
  102. package/dist/esm/arch/evm/SpokeUtils.d.ts +1 -1
  103. package/dist/esm/arch/evm/SpokeUtils.js +6 -5
  104. package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
  105. package/dist/esm/arch/svm/SpokeUtils.d.ts +94 -0
  106. package/dist/esm/arch/svm/SpokeUtils.js +509 -0
  107. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -0
  108. package/dist/esm/arch/svm/constants.d.ts +2 -0
  109. package/dist/esm/arch/svm/constants.js +3 -0
  110. package/dist/esm/arch/svm/constants.js.map +1 -0
  111. package/dist/esm/arch/svm/eventsClient.d.ts +87 -0
  112. package/dist/esm/arch/svm/eventsClient.js +316 -0
  113. package/dist/esm/arch/svm/eventsClient.js.map +1 -0
  114. package/dist/esm/arch/svm/index.d.ts +5 -1
  115. package/dist/esm/arch/svm/index.js +5 -1
  116. package/dist/esm/arch/svm/index.js.map +1 -1
  117. package/dist/{types → esm/arch}/svm/types.d.ts +9 -5
  118. package/dist/esm/arch/svm/types.js.map +1 -0
  119. package/dist/esm/arch/svm/utils.d.ts +59 -0
  120. package/dist/esm/arch/svm/utils.js +248 -0
  121. package/dist/esm/arch/svm/utils.js.map +1 -0
  122. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
  123. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +7 -7
  124. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  125. package/dist/esm/clients/BaseAbstractClient.d.ts +6 -5
  126. package/dist/esm/clients/BaseAbstractClient.js +30 -19
  127. package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
  128. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +17 -14
  129. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  130. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -1
  131. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  132. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
  133. package/dist/esm/clients/HubPoolClient.d.ts +1 -1
  134. package/dist/esm/clients/HubPoolClient.js +16 -16
  135. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  136. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
  137. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +23 -20
  138. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  139. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +67 -0
  140. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +196 -0
  141. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -0
  142. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +7 -7
  143. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +51 -55
  144. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  145. package/dist/esm/clients/SpokePoolClient/index.d.ts +8 -0
  146. package/dist/esm/clients/SpokePoolClient/index.js +10 -0
  147. package/dist/esm/clients/SpokePoolClient/index.js.map +1 -1
  148. package/dist/esm/clients/index.d.ts +1 -1
  149. package/dist/esm/clients/index.js +1 -1
  150. package/dist/esm/clients/index.js.map +1 -1
  151. package/dist/esm/clients/mocks/MockConfigStoreClient.d.ts +1 -1
  152. package/dist/esm/clients/mocks/MockConfigStoreClient.js +2 -2
  153. package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
  154. package/dist/esm/clients/mocks/MockHubPoolClient.js +2 -2
  155. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
  156. package/dist/esm/clients/mocks/MockSpokePoolClient.js +8 -5
  157. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  158. package/dist/esm/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
  159. package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  160. package/dist/esm/gasPriceOracle/adapters/ethereum.d.ts +4 -4
  161. package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -1
  162. package/dist/esm/gasPriceOracle/adapters/linea-viem.js +3 -2
  163. package/dist/esm/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  164. package/dist/esm/gasPriceOracle/adapters/polygon.d.ts +4 -4
  165. package/dist/esm/gasPriceOracle/adapters/polygon.js +1 -1
  166. package/dist/esm/gasPriceOracle/adapters/solana.d.ts +8 -0
  167. package/dist/esm/gasPriceOracle/adapters/solana.js +43 -0
  168. package/dist/esm/gasPriceOracle/adapters/solana.js.map +1 -0
  169. package/dist/esm/gasPriceOracle/index.d.ts +1 -1
  170. package/dist/esm/gasPriceOracle/oracle.d.ts +4 -3
  171. package/dist/esm/gasPriceOracle/oracle.js +18 -9
  172. package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
  173. package/dist/esm/gasPriceOracle/types.d.ts +6 -1
  174. package/dist/esm/index.d.ts +0 -1
  175. package/dist/esm/index.js +0 -2
  176. package/dist/esm/index.js.map +1 -1
  177. package/dist/esm/interfaces/SpokePool.d.ts +13 -0
  178. package/dist/esm/interfaces/SpokePool.js.map +1 -1
  179. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
  180. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +4 -3
  181. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  182. package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
  183. package/dist/esm/relayFeeCalculator/chain-queries/factory.js +8 -2
  184. package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  185. package/dist/esm/relayFeeCalculator/chain-queries/index.d.ts +1 -0
  186. package/dist/esm/relayFeeCalculator/chain-queries/index.js +1 -0
  187. package/dist/esm/relayFeeCalculator/chain-queries/index.js.map +1 -1
  188. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +66 -0
  189. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +169 -0
  190. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -0
  191. package/dist/esm/utils/AddressUtils.d.ts +9 -3
  192. package/dist/esm/utils/AddressUtils.js +41 -6
  193. package/dist/esm/utils/AddressUtils.js.map +1 -1
  194. package/dist/esm/utils/ArrayUtils.d.ts +6 -0
  195. package/dist/esm/utils/ArrayUtils.js +9 -0
  196. package/dist/esm/utils/ArrayUtils.js.map +1 -1
  197. package/dist/esm/utils/EventUtils.d.ts +4 -4
  198. package/dist/esm/utils/EventUtils.js +7 -4
  199. package/dist/esm/utils/EventUtils.js.map +1 -1
  200. package/dist/esm/utils/JSONUtils.js +3 -0
  201. package/dist/esm/utils/JSONUtils.js.map +1 -1
  202. package/dist/esm/utils/SpokeUtils.js +5 -0
  203. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  204. package/dist/types/arch/evm/SpokeUtils.d.ts +1 -1
  205. package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
  206. package/dist/types/arch/svm/SpokeUtils.d.ts +95 -0
  207. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -0
  208. package/dist/types/arch/svm/constants.d.ts +3 -0
  209. package/dist/types/arch/svm/constants.d.ts.map +1 -0
  210. package/dist/types/arch/svm/eventsClient.d.ts +88 -0
  211. package/dist/types/arch/svm/eventsClient.d.ts.map +1 -0
  212. package/dist/types/arch/svm/index.d.ts +5 -1
  213. package/dist/types/arch/svm/index.d.ts.map +1 -1
  214. package/dist/{esm → types/arch}/svm/types.d.ts +10 -4
  215. package/dist/types/arch/svm/types.d.ts.map +1 -0
  216. package/dist/types/arch/svm/utils.d.ts +60 -0
  217. package/dist/types/arch/svm/utils.d.ts.map +1 -0
  218. package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
  219. package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -1
  220. package/dist/types/clients/BaseAbstractClient.d.ts +6 -5
  221. package/dist/types/clients/BaseAbstractClient.d.ts.map +1 -1
  222. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
  223. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
  224. package/dist/types/clients/HubPoolClient.d.ts +1 -1
  225. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  226. package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
  227. package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -1
  228. package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +68 -0
  229. package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -0
  230. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +7 -7
  231. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
  232. package/dist/types/clients/SpokePoolClient/index.d.ts +8 -0
  233. package/dist/types/clients/SpokePoolClient/index.d.ts.map +1 -1
  234. package/dist/types/clients/index.d.ts +1 -1
  235. package/dist/types/clients/index.d.ts.map +1 -1
  236. package/dist/types/clients/mocks/MockConfigStoreClient.d.ts +1 -1
  237. package/dist/types/clients/mocks/MockConfigStoreClient.d.ts.map +1 -1
  238. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
  239. package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
  240. package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts.map +1 -1
  241. package/dist/types/gasPriceOracle/adapters/ethereum.d.ts +4 -4
  242. package/dist/types/gasPriceOracle/adapters/ethereum.d.ts.map +1 -1
  243. package/dist/types/gasPriceOracle/adapters/linea-viem.d.ts.map +1 -1
  244. package/dist/types/gasPriceOracle/adapters/polygon.d.ts +4 -4
  245. package/dist/types/gasPriceOracle/adapters/polygon.d.ts.map +1 -1
  246. package/dist/types/gasPriceOracle/adapters/solana.d.ts +9 -0
  247. package/dist/types/gasPriceOracle/adapters/solana.d.ts.map +1 -0
  248. package/dist/types/gasPriceOracle/index.d.ts +1 -1
  249. package/dist/types/gasPriceOracle/index.d.ts.map +1 -1
  250. package/dist/types/gasPriceOracle/oracle.d.ts +4 -3
  251. package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -1
  252. package/dist/types/gasPriceOracle/types.d.ts +6 -1
  253. package/dist/types/gasPriceOracle/types.d.ts.map +1 -1
  254. package/dist/types/index.d.ts +0 -1
  255. package/dist/types/index.d.ts.map +1 -1
  256. package/dist/types/interfaces/SpokePool.d.ts +13 -0
  257. package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
  258. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
  259. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
  260. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
  261. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
  262. package/dist/types/relayFeeCalculator/chain-queries/index.d.ts +1 -0
  263. package/dist/types/relayFeeCalculator/chain-queries/index.d.ts.map +1 -1
  264. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +67 -0
  265. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -0
  266. package/dist/types/utils/AddressUtils.d.ts +9 -3
  267. package/dist/types/utils/AddressUtils.d.ts.map +1 -1
  268. package/dist/types/utils/ArrayUtils.d.ts +6 -0
  269. package/dist/types/utils/ArrayUtils.d.ts.map +1 -1
  270. package/dist/types/utils/EventUtils.d.ts +4 -4
  271. package/dist/types/utils/EventUtils.d.ts.map +1 -1
  272. package/dist/types/utils/JSONUtils.d.ts.map +1 -1
  273. package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
  274. package/package.json +5 -2
  275. package/src/arch/evm/SpokeUtils.ts +5 -5
  276. package/src/arch/svm/SpokeUtils.ts +526 -0
  277. package/src/arch/svm/constants.ts +2 -0
  278. package/src/arch/svm/eventsClient.ts +334 -0
  279. package/src/arch/svm/index.ts +5 -1
  280. package/src/{svm → arch/svm}/types.ts +21 -4
  281. package/src/arch/svm/utils.ts +222 -0
  282. package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +7 -7
  283. package/src/clients/BaseAbstractClient.ts +20 -13
  284. package/src/clients/BundleDataClient/BundleDataClient.ts +28 -19
  285. package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +1 -1
  286. package/src/clients/HubPoolClient.ts +16 -16
  287. package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +23 -21
  288. package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +244 -0
  289. package/src/clients/SpokePoolClient/SpokePoolClient.ts +44 -56
  290. package/src/clients/SpokePoolClient/index.ts +11 -0
  291. package/src/clients/index.ts +1 -1
  292. package/src/clients/mocks/MockConfigStoreClient.ts +2 -2
  293. package/src/clients/mocks/MockHubPoolClient.ts +2 -2
  294. package/src/clients/mocks/MockSpokePoolClient.ts +9 -4
  295. package/src/gasPriceOracle/adapters/arbitrum.ts +5 -2
  296. package/src/gasPriceOracle/adapters/ethereum.ts +7 -4
  297. package/src/gasPriceOracle/adapters/linea-viem.ts +3 -1
  298. package/src/gasPriceOracle/adapters/polygon.ts +6 -6
  299. package/src/gasPriceOracle/adapters/solana.ts +45 -0
  300. package/src/gasPriceOracle/index.ts +1 -1
  301. package/src/gasPriceOracle/oracle.ts +20 -4
  302. package/src/gasPriceOracle/types.ts +7 -1
  303. package/src/index.ts +0 -1
  304. package/src/interfaces/SpokePool.ts +14 -0
  305. package/src/relayFeeCalculator/chain-queries/baseQuery.ts +5 -3
  306. package/src/relayFeeCalculator/chain-queries/factory.ts +21 -5
  307. package/src/relayFeeCalculator/chain-queries/index.ts +1 -0
  308. package/src/relayFeeCalculator/chain-queries/svmQuery.ts +193 -0
  309. package/src/utils/AddressUtils.ts +49 -6
  310. package/src/utils/ArrayUtils.ts +12 -0
  311. package/src/utils/EventUtils.ts +11 -11
  312. package/src/utils/JSONUtils.ts +2 -0
  313. package/src/utils/SpokeUtils.ts +7 -3
  314. package/dist/cjs/svm/eventsClient.d.ts +0 -15
  315. package/dist/cjs/svm/eventsClient.js +0 -157
  316. package/dist/cjs/svm/eventsClient.js.map +0 -1
  317. package/dist/cjs/svm/index.d.ts +0 -3
  318. package/dist/cjs/svm/index.js +0 -8
  319. package/dist/cjs/svm/index.js.map +0 -1
  320. package/dist/cjs/svm/types.js.map +0 -1
  321. package/dist/cjs/svm/utils/events.d.ts +0 -8
  322. package/dist/cjs/svm/utils/events.js +0 -47
  323. package/dist/cjs/svm/utils/events.js.map +0 -1
  324. package/dist/cjs/svm/utils/helpers.d.ts +0 -2
  325. package/dist/cjs/svm/utils/helpers.js +0 -19
  326. package/dist/cjs/svm/utils/helpers.js.map +0 -1
  327. package/dist/cjs/svm/utils/index.d.ts +0 -1
  328. package/dist/cjs/svm/utils/index.js +0 -5
  329. package/dist/cjs/svm/utils/index.js.map +0 -1
  330. package/dist/esm/svm/eventsClient.d.ts +0 -51
  331. package/dist/esm/svm/eventsClient.js +0 -195
  332. package/dist/esm/svm/eventsClient.js.map +0 -1
  333. package/dist/esm/svm/index.d.ts +0 -3
  334. package/dist/esm/svm/index.js +0 -5
  335. package/dist/esm/svm/index.js.map +0 -1
  336. package/dist/esm/svm/types.js.map +0 -1
  337. package/dist/esm/svm/utils/events.d.ts +0 -17
  338. package/dist/esm/svm/utils/events.js +0 -55
  339. package/dist/esm/svm/utils/events.js.map +0 -1
  340. package/dist/esm/svm/utils/helpers.d.ts +0 -5
  341. package/dist/esm/svm/utils/helpers.js +0 -18
  342. package/dist/esm/svm/utils/helpers.js.map +0 -1
  343. package/dist/esm/svm/utils/index.d.ts +0 -1
  344. package/dist/esm/svm/utils/index.js +0 -2
  345. package/dist/esm/svm/utils/index.js.map +0 -1
  346. package/dist/types/svm/eventsClient.d.ts +0 -52
  347. package/dist/types/svm/eventsClient.d.ts.map +0 -1
  348. package/dist/types/svm/index.d.ts +0 -4
  349. package/dist/types/svm/index.d.ts.map +0 -1
  350. package/dist/types/svm/types.d.ts.map +0 -1
  351. package/dist/types/svm/utils/events.d.ts +0 -18
  352. package/dist/types/svm/utils/events.d.ts.map +0 -1
  353. package/dist/types/svm/utils/helpers.d.ts +0 -6
  354. package/dist/types/svm/utils/helpers.d.ts.map +0 -1
  355. package/dist/types/svm/utils/index.d.ts +0 -2
  356. package/dist/types/svm/utils/index.d.ts.map +0 -1
  357. package/src/svm/eventsClient.ts +0 -199
  358. package/src/svm/index.ts +0 -3
  359. package/src/svm/utils/events.ts +0 -58
  360. package/src/svm/utils/helpers.ts +0 -9
  361. package/src/svm/utils/index.ts +0 -1
  362. /package/dist/cjs/{svm → arch/svm}/types.js +0 -0
  363. /package/dist/esm/{svm → arch/svm}/types.js +0 -0
@@ -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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"}
@@ -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, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
5
+ import { BigNumber, SvmAddress } from "../../utils";
6
+ import { SvmCpiEventsClient } from "./";
7
+ import { SVMProvider } from "./types";
8
+ export declare function populateV3Relay(_spokePool: unknown, _deposit: Omit<Deposit, "messageHash">, _relayer: string, _repaymentChainId?: number): Promise<unknown>;
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 findDepositBlock(_spokePool: unknown, depositId: BigNumber, _lowBlock: number, _highBlock?: number): Promise<number | 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;
@@ -0,0 +1,424 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRelayDataHash = exports.getAssociatedTokenAddress = exports.createApproveInstruction = exports.createTokenAccountsInstruction = exports.fillRelayInstruction = exports.findFillEvent = exports.fillStatusArray = exports.relayFillStatus = exports.findDepositBlock = exports.getDepositIdAtBlock = exports.getFillDeadline = exports.getTimestampForSlot = exports.populateV3Relay = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var contracts_1 = require("@across-protocol/contracts");
6
+ var SvmSpoke_1 = require("@across-protocol/contracts/dist/src/svm/clients/SvmSpoke");
7
+ var web3_v1_1 = require("@across-protocol/contracts/dist/src/svm/web3-v1");
8
+ var token_1 = require("@solana-program/token");
9
+ var kit_1 = require("@solana/kit");
10
+ var assert_1 = tslib_1.__importDefault(require("assert"));
11
+ var utils_1 = require("ethers/lib/utils");
12
+ var constants_1 = require("../../constants");
13
+ var interfaces_1 = require("../../interfaces");
14
+ var utils_2 = require("../../utils");
15
+ var _1 = require("./");
16
+ var types_1 = require("./types");
17
+ function populateV3Relay(_spokePool, _deposit, _relayer, _repaymentChainId) {
18
+ if (_repaymentChainId === void 0) { _repaymentChainId = _deposit.destinationChainId; }
19
+ throw new Error("populateV3Relay: not implemented");
20
+ }
21
+ exports.populateV3Relay = populateV3Relay;
22
+ function getTimestampForSlot(provider, slotNumber) {
23
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
24
+ var slotTime;
25
+ return tslib_1.__generator(this, function (_a) {
26
+ switch (_a.label) {
27
+ case 0: return [4, provider.getBlockTime(BigInt(slotNumber)).send()];
28
+ case 1:
29
+ slotTime = _a.sent();
30
+ return [2, Number(slotTime)];
31
+ }
32
+ });
33
+ });
34
+ }
35
+ exports.getTimestampForSlot = getTimestampForSlot;
36
+ function getFillDeadline(provider, statePda) {
37
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
38
+ var state;
39
+ return tslib_1.__generator(this, function (_a) {
40
+ switch (_a.label) {
41
+ case 0: return [4, (0, SvmSpoke_1.fetchState)(provider, statePda)];
42
+ case 1:
43
+ state = _a.sent();
44
+ return [2, state.data.fillDeadlineBuffer];
45
+ }
46
+ });
47
+ });
48
+ }
49
+ exports.getFillDeadline = getFillDeadline;
50
+ function getDepositIdAtBlock(_contract, _blockTag) {
51
+ throw new Error("getDepositIdAtBlock: not implemented");
52
+ }
53
+ exports.getDepositIdAtBlock = getDepositIdAtBlock;
54
+ function findDepositBlock(_spokePool, depositId, _lowBlock, _highBlock) {
55
+ if ((0, utils_2.isUnsafeDepositId)(depositId)) {
56
+ throw new Error("Cannot binary search for depositId ".concat(depositId));
57
+ }
58
+ throw new Error("findDepositBlock: not implemented");
59
+ }
60
+ exports.findDepositBlock = findDepositBlock;
61
+ function relayFillStatus(programId, relayData, destinationChainId, svmEventsClient, atHeight) {
62
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
63
+ var provider, fillStatusPda, currentSlot, _a, fillStatusAccount, currentSlotTimestamp, decodedAccountData, toSlot;
64
+ return tslib_1.__generator(this, function (_b) {
65
+ switch (_b.label) {
66
+ case 0:
67
+ (0, assert_1.default)((0, utils_2.chainIsSvm)(destinationChainId), "Destination chain must be an SVM chain");
68
+ provider = svmEventsClient.getRpc();
69
+ return [4, (0, _1.getFillStatusPda)(programId, relayData, destinationChainId)];
70
+ case 1:
71
+ fillStatusPda = _b.sent();
72
+ return [4, provider.getSlot({ commitment: "confirmed" }).send()];
73
+ case 2:
74
+ currentSlot = _b.sent();
75
+ if (!(atHeight === undefined)) return [3, 4];
76
+ return [4, Promise.all([
77
+ (0, kit_1.fetchEncodedAccount)(provider, fillStatusPda, { commitment: "confirmed" }),
78
+ provider.getBlockTime(currentSlot).send(),
79
+ ])];
80
+ case 3:
81
+ _a = _b.sent(), fillStatusAccount = _a[0], currentSlotTimestamp = _a[1];
82
+ if (fillStatusAccount.exists) {
83
+ decodedAccountData = (0, SvmSpoke_1.decodeFillStatusAccount)(fillStatusAccount);
84
+ return [2, decodedAccountData.data.status];
85
+ }
86
+ else if (Number(currentSlotTimestamp) < relayData.fillDeadline) {
87
+ return [2, interfaces_1.FillStatus.Unfilled];
88
+ }
89
+ _b.label = 4;
90
+ case 4:
91
+ toSlot = atHeight ? BigInt(atHeight) : currentSlot;
92
+ return [2, resolveFillStatusFromPdaEvents(fillStatusPda, toSlot, svmEventsClient)];
93
+ }
94
+ });
95
+ });
96
+ }
97
+ exports.relayFillStatus = relayFillStatus;
98
+ function fillStatusArray(programId, relayData, destinationChainId, svmEventsClient, atHeight, logger) {
99
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
100
+ var provider, chunkSize, chunkedRelayData, fillStatusPdas, fillStatuses, _a, missingStatuses, missingChunked, missingResults, toSlot, _b, _i, missingChunked_1, chunk_1, chunkResults;
101
+ var _this = this;
102
+ return tslib_1.__generator(this, function (_c) {
103
+ switch (_c.label) {
104
+ case 0:
105
+ (0, assert_1.default)((0, utils_2.chainIsSvm)(destinationChainId), "Destination chain must be an SVM chain");
106
+ provider = svmEventsClient.getRpc();
107
+ chunkSize = 100;
108
+ chunkedRelayData = (0, utils_2.chunk)(relayData, chunkSize);
109
+ return [4, Promise.all(chunkedRelayData.map(function (relayDataChunk) {
110
+ return Promise.all(relayDataChunk.map(function (relayData) { return (0, _1.getFillStatusPda)(programId, relayData, destinationChainId); }));
111
+ }))];
112
+ case 1:
113
+ fillStatusPdas = (_c.sent()).flat();
114
+ if (atHeight !== undefined && logger) {
115
+ logger.warn({
116
+ at: "SvmSpokeUtils#fillStatusArray",
117
+ message: "Querying specific slots for large arrays is slow. For current status, omit 'atHeight' param to use latest confirmed slot instead.",
118
+ });
119
+ }
120
+ if (!(atHeight === undefined)) return [3, 3];
121
+ return [4, fetchBatchFillStatusFromPdaAccounts(provider, fillStatusPdas, relayData)];
122
+ case 2:
123
+ _a = _c.sent();
124
+ return [3, 4];
125
+ case 3:
126
+ _a = new Array(relayData.length).fill(undefined);
127
+ _c.label = 4;
128
+ case 4:
129
+ fillStatuses = _a;
130
+ missingStatuses = fillStatuses.reduce(function (acc, status, index) {
131
+ if (status === undefined) {
132
+ acc.push(index);
133
+ }
134
+ return acc;
135
+ }, []);
136
+ missingChunked = (0, utils_2.chunk)(missingStatuses, chunkSize);
137
+ missingResults = [];
138
+ if (!atHeight) return [3, 5];
139
+ _b = BigInt(atHeight);
140
+ return [3, 7];
141
+ case 5: return [4, provider.getSlot({ commitment: "confirmed" }).send()];
142
+ case 6:
143
+ _b = _c.sent();
144
+ _c.label = 7;
145
+ case 7:
146
+ toSlot = _b;
147
+ _i = 0, missingChunked_1 = missingChunked;
148
+ _c.label = 8;
149
+ case 8:
150
+ if (!(_i < missingChunked_1.length)) return [3, 11];
151
+ chunk_1 = missingChunked_1[_i];
152
+ return [4, Promise.all(chunk_1.map(function (missingIndex) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
153
+ var _a;
154
+ return tslib_1.__generator(this, function (_b) {
155
+ switch (_b.label) {
156
+ case 0:
157
+ _a = {
158
+ index: missingIndex
159
+ };
160
+ return [4, resolveFillStatusFromPdaEvents(fillStatusPdas[missingIndex], toSlot, svmEventsClient)];
161
+ case 1: return [2, (_a.fillStatus = _b.sent(),
162
+ _a)];
163
+ }
164
+ });
165
+ }); }))];
166
+ case 9:
167
+ chunkResults = _c.sent();
168
+ missingResults.push.apply(missingResults, chunkResults);
169
+ _c.label = 10;
170
+ case 10:
171
+ _i++;
172
+ return [3, 8];
173
+ case 11:
174
+ missingResults.forEach(function (_a) {
175
+ var index = _a.index, fillStatus = _a.fillStatus;
176
+ fillStatuses[index] = fillStatus;
177
+ });
178
+ return [2, fillStatuses];
179
+ }
180
+ });
181
+ });
182
+ }
183
+ exports.fillStatusArray = fillStatusArray;
184
+ function findFillEvent(relayData, destinationChainId, svmEventsClient, fromSlot, toSlot) {
185
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
186
+ var _a, _b, programId, fillStatusPda, fillEvents, rawFillEvent, parsedFillEvent;
187
+ return tslib_1.__generator(this, function (_c) {
188
+ switch (_c.label) {
189
+ case 0:
190
+ (0, assert_1.default)((0, utils_2.chainIsSvm)(destinationChainId), "Destination chain must be an SVM chain");
191
+ if (!(toSlot !== null && toSlot !== void 0)) return [3, 1];
192
+ _a = toSlot;
193
+ return [3, 3];
194
+ case 1:
195
+ _b = Number;
196
+ return [4, svmEventsClient.getRpc().getSlot({ commitment: "confirmed" }).send()];
197
+ case 2:
198
+ _a = (toSlot = _b.apply(void 0, [_c.sent()]));
199
+ _c.label = 3;
200
+ case 3:
201
+ _a;
202
+ programId = svmEventsClient.getProgramAddress();
203
+ return [4, (0, _1.getFillStatusPda)(programId, relayData, destinationChainId)];
204
+ case 4:
205
+ fillStatusPda = _c.sent();
206
+ return [4, svmEventsClient.queryDerivedAddressEvents(types_1.SVMEventNames.FilledRelay, fillStatusPda, BigInt(fromSlot), BigInt(toSlot), { limit: 10 })];
207
+ case 5:
208
+ fillEvents = _c.sent();
209
+ (0, assert_1.default)(fillEvents.length <= 1, "Expected at most one fill event for ".concat(fillStatusPda, ", got ").concat(fillEvents.length));
210
+ if (fillEvents.length > 0) {
211
+ rawFillEvent = fillEvents[0];
212
+ parsedFillEvent = tslib_1.__assign({ transactionHash: rawFillEvent.signature, blockNumber: Number(rawFillEvent.slot), transactionIndex: 0, logIndex: 0, destinationChainId: destinationChainId }, (0, _1.unwrapEventData)(rawFillEvent.data));
213
+ return [2, parsedFillEvent];
214
+ }
215
+ return [2, undefined];
216
+ }
217
+ });
218
+ });
219
+ }
220
+ exports.findFillEvent = findFillEvent;
221
+ function fillRelayInstruction(spokePool, deposit, relayer, recipientTokenAccount, repaymentChainId) {
222
+ if (repaymentChainId === void 0) { repaymentChainId = deposit.destinationChainId; }
223
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
224
+ var programId, relayerAddress, _a, depositor, recipient, exclusiveRelayer, inputToken, outputToken, _relayDataHash, relayDataHash, relayerTokenAccount, _b, statePda, fillStatusPda, eventAuthority, depositIdBuffer, shortenedBuffer;
225
+ return tslib_1.__generator(this, function (_c) {
226
+ switch (_c.label) {
227
+ case 0:
228
+ programId = spokePool.toBase58();
229
+ relayerAddress = utils_2.SvmAddress.from(relayer.address);
230
+ _a = [
231
+ deposit.depositor,
232
+ deposit.recipient,
233
+ deposit.exclusiveRelayer,
234
+ deposit.inputToken,
235
+ deposit.outputToken,
236
+ ].map(function (addr) { return (0, utils_2.toAddressType)(addr).forceSvmAddress(); }), depositor = _a[0], recipient = _a[1], exclusiveRelayer = _a[2], inputToken = _a[3], outputToken = _a[4];
237
+ _relayDataHash = getRelayDataHash(deposit, deposit.destinationChainId);
238
+ relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
239
+ return [4, getAssociatedTokenAddress(relayerAddress, outputToken)];
240
+ case 1:
241
+ relayerTokenAccount = _c.sent();
242
+ return [4, Promise.all([
243
+ (0, _1.getStatePda)(spokePool.toV2Address()),
244
+ (0, _1.getFillStatusPda)(spokePool.toV2Address(), deposit, deposit.destinationChainId),
245
+ (0, _1.getEventAuthority)(),
246
+ ])];
247
+ case 2:
248
+ _b = _c.sent(), statePda = _b[0], fillStatusPda = _b[1], eventAuthority = _b[2];
249
+ depositIdBuffer = Buffer.alloc(32);
250
+ shortenedBuffer = Buffer.from(deposit.depositId.toHexString().slice(2), "hex");
251
+ shortenedBuffer.copy(depositIdBuffer, 32 - shortenedBuffer.length);
252
+ return [2, contracts_1.SvmSpokeClient.getFillRelayInstruction({
253
+ signer: relayer,
254
+ state: statePda,
255
+ mint: outputToken.toV2Address(),
256
+ relayerTokenAccount: relayerTokenAccount,
257
+ recipientTokenAccount: recipientTokenAccount,
258
+ fillStatus: fillStatusPda,
259
+ eventAuthority: eventAuthority,
260
+ program: (0, kit_1.address)(programId),
261
+ relayHash: relayDataHash,
262
+ relayData: (0, kit_1.some)({
263
+ depositor: depositor.toV2Address(),
264
+ recipient: recipient.toV2Address(),
265
+ exclusiveRelayer: exclusiveRelayer.toV2Address(),
266
+ inputToken: inputToken.toV2Address(),
267
+ outputToken: outputToken.toV2Address(),
268
+ inputAmount: deposit.inputAmount.toBigInt(),
269
+ outputAmount: deposit.outputAmount.toBigInt(),
270
+ originChainId: BigInt(deposit.originChainId),
271
+ fillDeadline: deposit.fillDeadline,
272
+ exclusivityDeadline: deposit.exclusivityDeadline,
273
+ depositId: new Uint8Array(depositIdBuffer),
274
+ message: new Uint8Array(Buffer.from(deposit.message.slice(2), "hex")),
275
+ }),
276
+ repaymentChainId: (0, kit_1.some)(BigInt(repaymentChainId)),
277
+ repaymentAddress: (0, kit_1.some)(relayerAddress.toV2Address()),
278
+ })];
279
+ }
280
+ });
281
+ });
282
+ }
283
+ exports.fillRelayInstruction = fillRelayInstruction;
284
+ function createTokenAccountsInstruction(mint, relayer) {
285
+ return contracts_1.SvmSpokeClient.getCreateTokenAccountsInstruction({
286
+ signer: relayer,
287
+ mint: mint.toV2Address(),
288
+ });
289
+ }
290
+ exports.createTokenAccountsInstruction = createTokenAccountsInstruction;
291
+ function createApproveInstruction(mint, amount, relayer, spokePool, mintDecimals) {
292
+ var _a;
293
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
294
+ var _b, relayerTokenAccount, statePda;
295
+ return tslib_1.__generator(this, function (_c) {
296
+ switch (_c.label) {
297
+ case 0: return [4, Promise.all([
298
+ getAssociatedTokenAddress(relayer, mint, token_1.TOKEN_PROGRAM_ADDRESS),
299
+ (0, _1.getStatePda)(spokePool.toV2Address()),
300
+ ])];
301
+ case 1:
302
+ _b = _c.sent(), relayerTokenAccount = _b[0], statePda = _b[1];
303
+ mintDecimals !== null && mintDecimals !== void 0 ? mintDecimals : (mintDecimals = (_a = (0, utils_2.getTokenInfo)(mint.toBase58(), constants_1.CHAIN_IDs.SOLANA)) === null || _a === void 0 ? void 0 : _a.decimals);
304
+ if (!(0, utils_2.isDefined)(mintDecimals)) {
305
+ throw new Error("No mint decimals found for token ".concat(mint.toBase58()));
306
+ }
307
+ return [2, (0, token_1.getApproveCheckedInstruction)({
308
+ source: relayerTokenAccount,
309
+ mint: mint.toV2Address(),
310
+ delegate: statePda,
311
+ owner: relayer.toV2Address(),
312
+ amount: amount.toBigInt(),
313
+ decimals: mintDecimals,
314
+ })];
315
+ }
316
+ });
317
+ });
318
+ }
319
+ exports.createApproveInstruction = createApproveInstruction;
320
+ function getAssociatedTokenAddress(owner, mint, tokenProgramId) {
321
+ if (tokenProgramId === void 0) { tokenProgramId = token_1.TOKEN_PROGRAM_ADDRESS; }
322
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
323
+ var associatedToken;
324
+ return tslib_1.__generator(this, function (_a) {
325
+ switch (_a.label) {
326
+ case 0: return [4, (0, kit_1.getProgramDerivedAddress)({
327
+ programAddress: token_1.ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
328
+ seeds: [owner.toBuffer(), utils_2.SvmAddress.from(tokenProgramId).toBuffer(), mint.toBuffer()],
329
+ })];
330
+ case 1:
331
+ associatedToken = (_a.sent())[0];
332
+ return [2, associatedToken];
333
+ }
334
+ });
335
+ });
336
+ }
337
+ exports.getAssociatedTokenAddress = getAssociatedTokenAddress;
338
+ function getRelayDataHash(relayData, destinationChainId) {
339
+ var addressEncoder = (0, kit_1.getAddressEncoder)();
340
+ var uint64Encoder = (0, kit_1.getU64Encoder)();
341
+ var uint32Encoder = (0, kit_1.getU32Encoder)();
342
+ (0, assert_1.default)(relayData.message.startsWith("0x"), "Message must be a hex string");
343
+ var contentToHash = Buffer.concat([
344
+ Uint8Array.from(addressEncoder.encode(utils_2.SvmAddress.from(relayData.depositor, "base16").toV2Address())),
345
+ Uint8Array.from(addressEncoder.encode(utils_2.SvmAddress.from(relayData.recipient, "base16").toV2Address())),
346
+ Uint8Array.from(addressEncoder.encode(utils_2.SvmAddress.from(relayData.exclusiveRelayer, "base16").toV2Address())),
347
+ Uint8Array.from(addressEncoder.encode(utils_2.SvmAddress.from(relayData.inputToken, "base16").toV2Address())),
348
+ Uint8Array.from(addressEncoder.encode(utils_2.SvmAddress.from(relayData.outputToken, "base16").toV2Address())),
349
+ Uint8Array.from(uint64Encoder.encode(BigInt(relayData.inputAmount.toString()))),
350
+ Uint8Array.from(uint64Encoder.encode(BigInt(relayData.outputAmount.toString()))),
351
+ Uint8Array.from(uint64Encoder.encode(BigInt(relayData.originChainId.toString()))),
352
+ (0, utils_1.arrayify)((0, utils_1.hexZeroPad)((0, utils_1.hexlify)(relayData.depositId), 32)),
353
+ Uint8Array.from(uint32Encoder.encode(relayData.fillDeadline)),
354
+ Uint8Array.from(uint32Encoder.encode(relayData.exclusivityDeadline)),
355
+ (0, web3_v1_1.hashNonEmptyMessage)(Buffer.from((0, utils_1.arrayify)(relayData.message))),
356
+ Uint8Array.from(uint64Encoder.encode(BigInt(destinationChainId))),
357
+ ]);
358
+ return (0, utils_2.keccak256)(contentToHash);
359
+ }
360
+ exports.getRelayDataHash = getRelayDataHash;
361
+ function resolveFillStatusFromPdaEvents(fillStatusPda, toSlot, svmEventsClient) {
362
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
363
+ var eventsToQuery, relevantEvents, fillStatusEvent;
364
+ return tslib_1.__generator(this, function (_a) {
365
+ switch (_a.label) {
366
+ case 0:
367
+ eventsToQuery = [types_1.SVMEventNames.FilledRelay, types_1.SVMEventNames.RequestedSlowFill];
368
+ return [4, Promise.all(eventsToQuery.map(function (eventName) {
369
+ return svmEventsClient.queryDerivedAddressEvents(eventName, fillStatusPda, undefined, toSlot, { limit: 10 });
370
+ }))];
371
+ case 1:
372
+ relevantEvents = (_a.sent()).flat();
373
+ if (relevantEvents.length === 0) {
374
+ return [2, interfaces_1.FillStatus.Unfilled];
375
+ }
376
+ relevantEvents.sort(function (a, b) { return Number(a.slot - b.slot); });
377
+ fillStatusEvent = relevantEvents.pop();
378
+ switch (fillStatusEvent.name) {
379
+ case types_1.SVMEventNames.FilledRelay:
380
+ return [2, interfaces_1.FillStatus.Filled];
381
+ case types_1.SVMEventNames.RequestedSlowFill:
382
+ return [2, interfaces_1.FillStatus.RequestedSlowFill];
383
+ default:
384
+ throw new Error("Unexpected event name: ".concat(fillStatusEvent.name));
385
+ }
386
+ return [2];
387
+ }
388
+ });
389
+ });
390
+ }
391
+ function fetchBatchFillStatusFromPdaAccounts(provider, fillStatusPdas, relayDataArray) {
392
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
393
+ var chunkSize, currentSlot, _a, pdaAccounts, currentSlotTimestamp, fillStatuses;
394
+ return tslib_1.__generator(this, function (_b) {
395
+ switch (_b.label) {
396
+ case 0:
397
+ chunkSize = 100;
398
+ return [4, provider.getSlot({ commitment: "confirmed" }).send()];
399
+ case 1:
400
+ currentSlot = _b.sent();
401
+ return [4, Promise.all([
402
+ Promise.all((0, utils_2.chunk)(fillStatusPdas, chunkSize).map(function (chunk) {
403
+ return (0, kit_1.fetchEncodedAccounts)(provider, chunk, { commitment: "confirmed" });
404
+ })),
405
+ provider.getBlockTime(currentSlot).send(),
406
+ ])];
407
+ case 2:
408
+ _a = _b.sent(), pdaAccounts = _a[0], currentSlotTimestamp = _a[1];
409
+ fillStatuses = pdaAccounts.flat().map(function (account, index) {
410
+ if (account.exists) {
411
+ var decodedAccount = (0, SvmSpoke_1.decodeFillStatusAccount)(account);
412
+ return decodedAccount.data.status;
413
+ }
414
+ else if (Number(currentSlotTimestamp) < relayDataArray[index].fillDeadline) {
415
+ return interfaces_1.FillStatus.Unfilled;
416
+ }
417
+ return undefined;
418
+ });
419
+ return [2, fillStatuses];
420
+ }
421
+ });
422
+ });
423
+ }
424
+ //# sourceMappingURL=SpokeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../../src/arch/svm/SpokeUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { SYSTEM_PROGRAM_ADDRESS as SVM_DEFAULT_ADDRESS } from "@solana-program/system";
2
+ export declare const SVM_SPOKE_SEED: bigint;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SVM_SPOKE_SEED = exports.SVM_DEFAULT_ADDRESS = void 0;
4
+ var system_1 = require("@solana-program/system");
5
+ Object.defineProperty(exports, "SVM_DEFAULT_ADDRESS", { enumerable: true, get: function () { return system_1.SYSTEM_PROGRAM_ADDRESS; } });
6
+ exports.SVM_SPOKE_SEED = BigInt(0);
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/arch/svm/constants.ts"],"names":[],"mappings":";;;AAAA,iDAAuF;AAA9E,6GAAA,sBAAsB,OAAuB;AACzC,QAAA,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { Idl } from "@coral-xyz/anchor";
2
+ import { Address, Commitment, GetSignaturesForAddressApi, Signature } from "@solana/kit";
3
+ import { EventName, EventWithData, SVMProvider } from "./types";
4
+ import { DepositWithTime, FillWithTime } from "../../interfaces";
5
+ type GetSignaturesForAddressConfig = Parameters<GetSignaturesForAddressApi["getSignaturesForAddress"]>[1];
6
+ export type DepositEventFromSignature = Omit<DepositWithTime, "fromLiteChain" | "toLiteChain">;
7
+ export type FillEventFromSignature = FillWithTime;
8
+ export declare class SvmCpiEventsClient {
9
+ private rpc;
10
+ private programAddress;
11
+ private programEventAuthority;
12
+ private idl;
13
+ protected constructor(rpc: SVMProvider, address: Address, eventAuthority: Address, idl: Idl);
14
+ static create(rpc: SVMProvider): Promise<SvmCpiEventsClient>;
15
+ static createFor(rpc: SVMProvider, programId: string, idl: Idl): Promise<SvmCpiEventsClient>;
16
+ queryEvents(eventName: EventName, fromSlot?: bigint, toSlot?: bigint, options?: GetSignaturesForAddressConfig): Promise<EventWithData[]>;
17
+ queryDerivedAddressEvents(eventName: string, derivedAddress: Address, fromSlot?: bigint, toSlot?: bigint, options?: GetSignaturesForAddressConfig): Promise<EventWithData[]>;
18
+ private queryAllEvents;
19
+ private readEventsFromSignature;
20
+ private processEventFromTx;
21
+ getDepositEventsFromSignature(originChainId: number, txSignature: Signature, commitment?: Commitment): Promise<DepositEventFromSignature[] | undefined>;
22
+ getFillEventsFromSignature(destinationChainId: number, txSignature: Signature, commitment?: Commitment): Promise<FillEventFromSignature[] | undefined>;
23
+ getProgramAddress(): Address;
24
+ getRpc(): SVMProvider;
25
+ }
26
+ export {};