@across-protocol/sdk 4.1.63 → 4.2.0

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 (519) 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/constants.d.ts +1 -0
  73. package/dist/cjs/constants.js +2 -1
  74. package/dist/cjs/constants.js.map +1 -1
  75. package/dist/cjs/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
  76. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  77. package/dist/cjs/gasPriceOracle/adapters/ethereum.d.ts +4 -4
  78. package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -1
  79. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js +3 -2
  80. package/dist/cjs/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  81. package/dist/cjs/gasPriceOracle/adapters/polygon.d.ts +3 -3
  82. package/dist/cjs/gasPriceOracle/adapters/solana.d.ts +4 -0
  83. package/dist/cjs/gasPriceOracle/adapters/solana.js +43 -0
  84. package/dist/cjs/gasPriceOracle/adapters/solana.js.map +1 -0
  85. package/dist/cjs/gasPriceOracle/index.d.ts +1 -1
  86. package/dist/cjs/gasPriceOracle/oracle.d.ts +4 -3
  87. package/dist/cjs/gasPriceOracle/oracle.js +16 -9
  88. package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
  89. package/dist/cjs/gasPriceOracle/types.d.ts +6 -1
  90. package/dist/cjs/index.d.ts +0 -1
  91. package/dist/cjs/index.js +1 -2
  92. package/dist/cjs/index.js.map +1 -1
  93. package/dist/cjs/interfaces/SpokePool.d.ts +13 -0
  94. package/dist/cjs/interfaces/SpokePool.js.map +1 -1
  95. package/dist/cjs/providers/index.d.ts +1 -1
  96. package/dist/cjs/providers/index.js +1 -2
  97. package/dist/cjs/providers/index.js.map +1 -1
  98. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.d.ts +5 -0
  99. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +21 -0
  100. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -0
  101. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +5 -0
  102. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js +20 -0
  103. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -0
  104. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.d.ts +13 -0
  105. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js +76 -0
  106. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js.map +1 -0
  107. package/dist/cjs/providers/mocks/index.d.ts +4 -0
  108. package/dist/cjs/providers/mocks/index.js +8 -0
  109. package/dist/cjs/providers/mocks/index.js.map +1 -0
  110. package/dist/cjs/providers/{mockProvider.js → mocks/mockEthersProvider.js} +2 -2
  111. package/dist/cjs/providers/mocks/mockEthersProvider.js.map +1 -0
  112. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
  113. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +10 -8
  114. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  115. package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
  116. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +8 -2
  117. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  118. package/dist/cjs/relayFeeCalculator/chain-queries/index.d.ts +1 -0
  119. package/dist/cjs/relayFeeCalculator/chain-queries/index.js +1 -0
  120. package/dist/cjs/relayFeeCalculator/chain-queries/index.js.map +1 -1
  121. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +37 -0
  122. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +171 -0
  123. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -0
  124. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +2 -0
  125. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +9 -3
  126. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  127. package/dist/cjs/utils/AddressUtils.d.ts +9 -3
  128. package/dist/cjs/utils/AddressUtils.js +36 -6
  129. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  130. package/dist/cjs/utils/ArrayUtils.d.ts +1 -0
  131. package/dist/cjs/utils/ArrayUtils.js +6 -1
  132. package/dist/cjs/utils/ArrayUtils.js.map +1 -1
  133. package/dist/cjs/utils/BlockFinder.d.ts +22 -0
  134. package/dist/cjs/utils/BlockFinder.js +10 -0
  135. package/dist/cjs/utils/BlockFinder.js.map +1 -0
  136. package/dist/cjs/utils/BlockUtils.d.ts +2 -27
  137. package/dist/cjs/utils/BlockUtils.js +2 -208
  138. package/dist/cjs/utils/BlockUtils.js.map +1 -1
  139. package/dist/cjs/utils/EventUtils.d.ts +4 -4
  140. package/dist/cjs/utils/EventUtils.js +7 -4
  141. package/dist/cjs/utils/EventUtils.js.map +1 -1
  142. package/dist/cjs/utils/JSONUtils.js +3 -0
  143. package/dist/cjs/utils/JSONUtils.js.map +1 -1
  144. package/dist/cjs/utils/NumberUtils.d.ts +1 -0
  145. package/dist/cjs/utils/NumberUtils.js +7 -1
  146. package/dist/cjs/utils/NumberUtils.js.map +1 -1
  147. package/dist/cjs/utils/SpokeUtils.js +5 -0
  148. package/dist/cjs/utils/SpokeUtils.js.map +1 -1
  149. package/dist/cjs/utils/index.d.ts +1 -0
  150. package/dist/cjs/utils/index.js +1 -0
  151. package/dist/cjs/utils/index.js.map +1 -1
  152. package/dist/esm/arch/evm/BlockUtils.d.ts +24 -0
  153. package/dist/esm/arch/evm/BlockUtils.js +250 -0
  154. package/dist/esm/arch/evm/BlockUtils.js.map +1 -0
  155. package/dist/esm/arch/evm/SpokeUtils.d.ts +1 -1
  156. package/dist/esm/arch/evm/SpokeUtils.js +6 -5
  157. package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
  158. package/dist/esm/arch/evm/index.d.ts +1 -0
  159. package/dist/esm/arch/evm/index.js +1 -0
  160. package/dist/esm/arch/evm/index.js.map +1 -1
  161. package/dist/esm/arch/svm/SpokeUtils.d.ts +122 -0
  162. package/dist/esm/arch/svm/SpokeUtils.js +566 -0
  163. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -0
  164. package/dist/esm/arch/svm/constants.d.ts +2 -0
  165. package/dist/esm/arch/svm/constants.js +3 -0
  166. package/dist/esm/arch/svm/constants.js.map +1 -0
  167. package/dist/esm/arch/svm/eventsClient.d.ts +87 -0
  168. package/dist/esm/arch/svm/eventsClient.js +316 -0
  169. package/dist/esm/arch/svm/eventsClient.js.map +1 -0
  170. package/dist/esm/arch/svm/index.d.ts +5 -1
  171. package/dist/esm/arch/svm/index.js +5 -1
  172. package/dist/esm/arch/svm/index.js.map +1 -1
  173. package/dist/esm/{svm → arch/svm}/types.d.ts +9 -4
  174. package/dist/esm/arch/svm/types.js.map +1 -0
  175. package/dist/esm/arch/svm/utils.d.ts +63 -0
  176. package/dist/esm/arch/svm/utils.js +258 -0
  177. package/dist/esm/arch/svm/utils.js.map +1 -0
  178. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
  179. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +7 -7
  180. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
  181. package/dist/esm/clients/BaseAbstractClient.d.ts +6 -5
  182. package/dist/esm/clients/BaseAbstractClient.js +30 -19
  183. package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
  184. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +17 -14
  185. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  186. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -1
  187. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  188. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
  189. package/dist/esm/clients/HubPoolClient.d.ts +4 -3
  190. package/dist/esm/clients/HubPoolClient.js +19 -18
  191. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  192. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
  193. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +23 -20
  194. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  195. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +66 -0
  196. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +225 -0
  197. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -0
  198. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +7 -7
  199. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +57 -59
  200. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  201. package/dist/esm/clients/SpokePoolClient/index.d.ts +8 -0
  202. package/dist/esm/clients/SpokePoolClient/index.js +10 -0
  203. package/dist/esm/clients/SpokePoolClient/index.js.map +1 -1
  204. package/dist/esm/clients/index.d.ts +1 -1
  205. package/dist/esm/clients/index.js +1 -1
  206. package/dist/esm/clients/index.js.map +1 -1
  207. package/dist/esm/clients/mocks/MockConfigStoreClient.d.ts +1 -1
  208. package/dist/esm/clients/mocks/MockConfigStoreClient.js +2 -2
  209. package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
  210. package/dist/esm/clients/mocks/MockHubPoolClient.js +2 -2
  211. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
  212. package/dist/esm/clients/mocks/MockSpokePoolClient.js +8 -5
  213. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  214. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.d.ts +33 -0
  215. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +183 -0
  216. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -0
  217. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.d.ts +30 -0
  218. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +89 -0
  219. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -0
  220. package/dist/esm/clients/mocks/index.d.ts +2 -0
  221. package/dist/esm/clients/mocks/index.js +2 -0
  222. package/dist/esm/clients/mocks/index.js.map +1 -1
  223. package/dist/esm/constants.d.ts +1 -0
  224. package/dist/esm/constants.js +1 -0
  225. package/dist/esm/constants.js.map +1 -1
  226. package/dist/esm/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
  227. package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -1
  228. package/dist/esm/gasPriceOracle/adapters/ethereum.d.ts +4 -4
  229. package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -1
  230. package/dist/esm/gasPriceOracle/adapters/linea-viem.js +3 -2
  231. package/dist/esm/gasPriceOracle/adapters/linea-viem.js.map +1 -1
  232. package/dist/esm/gasPriceOracle/adapters/polygon.d.ts +4 -4
  233. package/dist/esm/gasPriceOracle/adapters/polygon.js +1 -1
  234. package/dist/esm/gasPriceOracle/adapters/solana.d.ts +8 -0
  235. package/dist/esm/gasPriceOracle/adapters/solana.js +43 -0
  236. package/dist/esm/gasPriceOracle/adapters/solana.js.map +1 -0
  237. package/dist/esm/gasPriceOracle/index.d.ts +1 -1
  238. package/dist/esm/gasPriceOracle/oracle.d.ts +4 -3
  239. package/dist/esm/gasPriceOracle/oracle.js +18 -9
  240. package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
  241. package/dist/esm/gasPriceOracle/types.d.ts +6 -1
  242. package/dist/esm/index.d.ts +0 -1
  243. package/dist/esm/index.js +0 -2
  244. package/dist/esm/index.js.map +1 -1
  245. package/dist/esm/interfaces/SpokePool.d.ts +13 -0
  246. package/dist/esm/interfaces/SpokePool.js.map +1 -1
  247. package/dist/esm/providers/index.d.ts +1 -1
  248. package/dist/esm/providers/index.js +1 -2
  249. package/dist/esm/providers/index.js.map +1 -1
  250. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.d.ts +5 -0
  251. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +19 -0
  252. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -0
  253. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +5 -0
  254. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js +18 -0
  255. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -0
  256. package/dist/esm/providers/mocks/MockSolanaRpcFactory.d.ts +13 -0
  257. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js +74 -0
  258. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js.map +1 -0
  259. package/dist/esm/providers/mocks/index.d.ts +4 -0
  260. package/dist/esm/providers/mocks/index.js +5 -0
  261. package/dist/esm/providers/mocks/index.js.map +1 -0
  262. package/dist/esm/providers/{mockProvider.js → mocks/mockEthersProvider.js} +2 -2
  263. package/dist/esm/providers/mocks/mockEthersProvider.js.map +1 -0
  264. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
  265. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +10 -8
  266. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  267. package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
  268. package/dist/esm/relayFeeCalculator/chain-queries/factory.js +11 -5
  269. package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  270. package/dist/esm/relayFeeCalculator/chain-queries/index.d.ts +1 -0
  271. package/dist/esm/relayFeeCalculator/chain-queries/index.js +1 -0
  272. package/dist/esm/relayFeeCalculator/chain-queries/index.js.map +1 -1
  273. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +84 -0
  274. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +216 -0
  275. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -0
  276. package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
  277. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +9 -4
  278. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  279. package/dist/esm/utils/AddressUtils.d.ts +9 -3
  280. package/dist/esm/utils/AddressUtils.js +41 -6
  281. package/dist/esm/utils/AddressUtils.js.map +1 -1
  282. package/dist/esm/utils/ArrayUtils.d.ts +6 -0
  283. package/dist/esm/utils/ArrayUtils.js +9 -0
  284. package/dist/esm/utils/ArrayUtils.js.map +1 -1
  285. package/dist/esm/utils/BlockFinder.d.ts +22 -0
  286. package/dist/esm/utils/BlockFinder.js +7 -0
  287. package/dist/esm/utils/BlockFinder.js.map +1 -0
  288. package/dist/esm/utils/BlockUtils.d.ts +2 -36
  289. package/dist/esm/utils/BlockUtils.js +2 -243
  290. package/dist/esm/utils/BlockUtils.js.map +1 -1
  291. package/dist/esm/utils/EventUtils.d.ts +4 -4
  292. package/dist/esm/utils/EventUtils.js +7 -4
  293. package/dist/esm/utils/EventUtils.js.map +1 -1
  294. package/dist/esm/utils/JSONUtils.js +3 -0
  295. package/dist/esm/utils/JSONUtils.js.map +1 -1
  296. package/dist/esm/utils/NumberUtils.d.ts +7 -0
  297. package/dist/esm/utils/NumberUtils.js +11 -0
  298. package/dist/esm/utils/NumberUtils.js.map +1 -1
  299. package/dist/esm/utils/SpokeUtils.js +5 -0
  300. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  301. package/dist/esm/utils/index.d.ts +1 -0
  302. package/dist/esm/utils/index.js +1 -0
  303. package/dist/esm/utils/index.js.map +1 -1
  304. package/dist/types/arch/evm/BlockUtils.d.ts +25 -0
  305. package/dist/types/arch/evm/BlockUtils.d.ts.map +1 -0
  306. package/dist/types/arch/evm/SpokeUtils.d.ts +1 -1
  307. package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
  308. package/dist/types/arch/evm/index.d.ts +1 -0
  309. package/dist/types/arch/evm/index.d.ts.map +1 -1
  310. package/dist/types/arch/svm/SpokeUtils.d.ts +123 -0
  311. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -0
  312. package/dist/types/arch/svm/constants.d.ts +3 -0
  313. package/dist/types/arch/svm/constants.d.ts.map +1 -0
  314. package/dist/types/arch/svm/eventsClient.d.ts +88 -0
  315. package/dist/types/arch/svm/eventsClient.d.ts.map +1 -0
  316. package/dist/types/arch/svm/index.d.ts +5 -1
  317. package/dist/types/arch/svm/index.d.ts.map +1 -1
  318. package/dist/types/{svm → arch/svm}/types.d.ts +9 -4
  319. package/dist/types/arch/svm/types.d.ts.map +1 -0
  320. package/dist/types/arch/svm/utils.d.ts +64 -0
  321. package/dist/types/arch/svm/utils.d.ts.map +1 -0
  322. package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
  323. package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -1
  324. package/dist/types/clients/BaseAbstractClient.d.ts +6 -5
  325. package/dist/types/clients/BaseAbstractClient.d.ts.map +1 -1
  326. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
  327. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
  328. package/dist/types/clients/HubPoolClient.d.ts +4 -3
  329. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  330. package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
  331. package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -1
  332. package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +67 -0
  333. package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -0
  334. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +7 -7
  335. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
  336. package/dist/types/clients/SpokePoolClient/index.d.ts +8 -0
  337. package/dist/types/clients/SpokePoolClient/index.d.ts.map +1 -1
  338. package/dist/types/clients/index.d.ts +1 -1
  339. package/dist/types/clients/index.d.ts.map +1 -1
  340. package/dist/types/clients/mocks/MockConfigStoreClient.d.ts +1 -1
  341. package/dist/types/clients/mocks/MockConfigStoreClient.d.ts.map +1 -1
  342. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
  343. package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts +34 -0
  344. package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts.map +1 -0
  345. package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts +31 -0
  346. package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts.map +1 -0
  347. package/dist/types/clients/mocks/index.d.ts +2 -0
  348. package/dist/types/clients/mocks/index.d.ts.map +1 -1
  349. package/dist/types/constants.d.ts +1 -0
  350. package/dist/types/constants.d.ts.map +1 -1
  351. package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
  352. package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts.map +1 -1
  353. package/dist/types/gasPriceOracle/adapters/ethereum.d.ts +4 -4
  354. package/dist/types/gasPriceOracle/adapters/ethereum.d.ts.map +1 -1
  355. package/dist/types/gasPriceOracle/adapters/linea-viem.d.ts.map +1 -1
  356. package/dist/types/gasPriceOracle/adapters/polygon.d.ts +4 -4
  357. package/dist/types/gasPriceOracle/adapters/polygon.d.ts.map +1 -1
  358. package/dist/types/gasPriceOracle/adapters/solana.d.ts +9 -0
  359. package/dist/types/gasPriceOracle/adapters/solana.d.ts.map +1 -0
  360. package/dist/types/gasPriceOracle/index.d.ts +1 -1
  361. package/dist/types/gasPriceOracle/index.d.ts.map +1 -1
  362. package/dist/types/gasPriceOracle/oracle.d.ts +4 -3
  363. package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -1
  364. package/dist/types/gasPriceOracle/types.d.ts +6 -1
  365. package/dist/types/gasPriceOracle/types.d.ts.map +1 -1
  366. package/dist/types/index.d.ts +0 -1
  367. package/dist/types/index.d.ts.map +1 -1
  368. package/dist/types/interfaces/SpokePool.d.ts +13 -0
  369. package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
  370. package/dist/types/providers/index.d.ts +1 -1
  371. package/dist/types/providers/index.d.ts.map +1 -1
  372. package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts +6 -0
  373. package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts.map +1 -0
  374. package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +6 -0
  375. package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts.map +1 -0
  376. package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts +14 -0
  377. package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts.map +1 -0
  378. package/dist/types/providers/mocks/index.d.ts +5 -0
  379. package/dist/types/providers/mocks/index.d.ts.map +1 -0
  380. package/dist/types/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +1 -1
  381. package/dist/types/providers/mocks/mockEthersProvider.d.ts.map +1 -0
  382. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
  383. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
  384. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
  385. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
  386. package/dist/types/relayFeeCalculator/chain-queries/index.d.ts +1 -0
  387. package/dist/types/relayFeeCalculator/chain-queries/index.d.ts.map +1 -1
  388. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +85 -0
  389. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -0
  390. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
  391. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
  392. package/dist/types/utils/AddressUtils.d.ts +9 -3
  393. package/dist/types/utils/AddressUtils.d.ts.map +1 -1
  394. package/dist/types/utils/ArrayUtils.d.ts +6 -0
  395. package/dist/types/utils/ArrayUtils.d.ts.map +1 -1
  396. package/dist/types/utils/BlockFinder.d.ts +23 -0
  397. package/dist/types/utils/BlockFinder.d.ts.map +1 -0
  398. package/dist/types/utils/BlockUtils.d.ts +2 -36
  399. package/dist/types/utils/BlockUtils.d.ts.map +1 -1
  400. package/dist/types/utils/EventUtils.d.ts +4 -4
  401. package/dist/types/utils/EventUtils.d.ts.map +1 -1
  402. package/dist/types/utils/JSONUtils.d.ts.map +1 -1
  403. package/dist/types/utils/NumberUtils.d.ts +7 -0
  404. package/dist/types/utils/NumberUtils.d.ts.map +1 -1
  405. package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
  406. package/dist/types/utils/index.d.ts +1 -0
  407. package/dist/types/utils/index.d.ts.map +1 -1
  408. package/package.json +3 -1
  409. package/src/arch/evm/BlockUtils.ts +209 -0
  410. package/src/arch/evm/SpokeUtils.ts +5 -5
  411. package/src/arch/evm/index.ts +1 -0
  412. package/src/arch/svm/SpokeUtils.ts +581 -0
  413. package/src/arch/svm/constants.ts +2 -0
  414. package/src/arch/svm/eventsClient.ts +342 -0
  415. package/src/arch/svm/index.ts +5 -1
  416. package/src/{svm → arch/svm}/types.ts +21 -4
  417. package/src/arch/svm/utils.ts +233 -0
  418. package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +7 -7
  419. package/src/clients/BaseAbstractClient.ts +20 -13
  420. package/src/clients/BundleDataClient/BundleDataClient.ts +28 -19
  421. package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +1 -1
  422. package/src/clients/HubPoolClient.ts +19 -19
  423. package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +23 -21
  424. package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +268 -0
  425. package/src/clients/SpokePoolClient/SpokePoolClient.ts +50 -59
  426. package/src/clients/SpokePoolClient/index.ts +11 -0
  427. package/src/clients/index.ts +1 -1
  428. package/src/clients/mocks/MockConfigStoreClient.ts +2 -2
  429. package/src/clients/mocks/MockHubPoolClient.ts +2 -2
  430. package/src/clients/mocks/MockSpokePoolClient.ts +9 -4
  431. package/src/clients/mocks/MockSvmCpiEventsClient.ts +226 -0
  432. package/src/clients/mocks/MockSvmSpokePoolClient.ts +119 -0
  433. package/src/clients/mocks/index.ts +2 -0
  434. package/src/constants.ts +1 -0
  435. package/src/gasPriceOracle/adapters/arbitrum.ts +5 -2
  436. package/src/gasPriceOracle/adapters/ethereum.ts +7 -4
  437. package/src/gasPriceOracle/adapters/linea-viem.ts +3 -1
  438. package/src/gasPriceOracle/adapters/polygon.ts +6 -6
  439. package/src/gasPriceOracle/adapters/solana.ts +45 -0
  440. package/src/gasPriceOracle/index.ts +1 -1
  441. package/src/gasPriceOracle/oracle.ts +20 -4
  442. package/src/gasPriceOracle/types.ts +7 -1
  443. package/src/index.ts +0 -1
  444. package/src/interfaces/SpokePool.ts +14 -0
  445. package/src/providers/index.ts +1 -1
  446. package/src/providers/mocks/MockCachedSolanaRpcFactory.ts +15 -0
  447. package/src/providers/mocks/MockRateLimitedSolanaRpcFactory.ts +14 -0
  448. package/src/providers/mocks/MockSolanaRpcFactory.ts +55 -0
  449. package/src/providers/mocks/index.ts +4 -0
  450. package/src/providers/{mockProvider.ts → mocks/mockEthersProvider.ts} +1 -1
  451. package/src/relayFeeCalculator/chain-queries/baseQuery.ts +11 -9
  452. package/src/relayFeeCalculator/chain-queries/factory.ts +24 -8
  453. package/src/relayFeeCalculator/chain-queries/index.ts +1 -0
  454. package/src/relayFeeCalculator/chain-queries/svmQuery.ts +225 -0
  455. package/src/relayFeeCalculator/relayFeeCalculator.ts +15 -3
  456. package/src/utils/AddressUtils.ts +49 -6
  457. package/src/utils/ArrayUtils.ts +12 -0
  458. package/src/utils/BlockFinder.ts +26 -0
  459. package/src/utils/BlockUtils.ts +5 -215
  460. package/src/utils/EventUtils.ts +11 -11
  461. package/src/utils/JSONUtils.ts +2 -0
  462. package/src/utils/NumberUtils.ts +10 -0
  463. package/src/utils/SpokeUtils.ts +7 -3
  464. package/src/utils/index.ts +1 -0
  465. package/dist/cjs/providers/mockProvider.js.map +0 -1
  466. package/dist/cjs/svm/eventsClient.d.ts +0 -15
  467. package/dist/cjs/svm/eventsClient.js +0 -157
  468. package/dist/cjs/svm/eventsClient.js.map +0 -1
  469. package/dist/cjs/svm/index.d.ts +0 -3
  470. package/dist/cjs/svm/index.js +0 -8
  471. package/dist/cjs/svm/index.js.map +0 -1
  472. package/dist/cjs/svm/types.js.map +0 -1
  473. package/dist/cjs/svm/utils/events.d.ts +0 -8
  474. package/dist/cjs/svm/utils/events.js +0 -47
  475. package/dist/cjs/svm/utils/events.js.map +0 -1
  476. package/dist/cjs/svm/utils/helpers.d.ts +0 -2
  477. package/dist/cjs/svm/utils/helpers.js +0 -19
  478. package/dist/cjs/svm/utils/helpers.js.map +0 -1
  479. package/dist/cjs/svm/utils/index.d.ts +0 -1
  480. package/dist/cjs/svm/utils/index.js +0 -5
  481. package/dist/cjs/svm/utils/index.js.map +0 -1
  482. package/dist/esm/providers/mockProvider.js.map +0 -1
  483. package/dist/esm/svm/eventsClient.d.ts +0 -51
  484. package/dist/esm/svm/eventsClient.js +0 -195
  485. package/dist/esm/svm/eventsClient.js.map +0 -1
  486. package/dist/esm/svm/index.d.ts +0 -3
  487. package/dist/esm/svm/index.js +0 -5
  488. package/dist/esm/svm/index.js.map +0 -1
  489. package/dist/esm/svm/types.js.map +0 -1
  490. package/dist/esm/svm/utils/events.d.ts +0 -17
  491. package/dist/esm/svm/utils/events.js +0 -55
  492. package/dist/esm/svm/utils/events.js.map +0 -1
  493. package/dist/esm/svm/utils/helpers.d.ts +0 -5
  494. package/dist/esm/svm/utils/helpers.js +0 -18
  495. package/dist/esm/svm/utils/helpers.js.map +0 -1
  496. package/dist/esm/svm/utils/index.d.ts +0 -1
  497. package/dist/esm/svm/utils/index.js +0 -2
  498. package/dist/esm/svm/utils/index.js.map +0 -1
  499. package/dist/types/providers/mockProvider.d.ts.map +0 -1
  500. package/dist/types/svm/eventsClient.d.ts +0 -52
  501. package/dist/types/svm/eventsClient.d.ts.map +0 -1
  502. package/dist/types/svm/index.d.ts +0 -4
  503. package/dist/types/svm/index.d.ts.map +0 -1
  504. package/dist/types/svm/types.d.ts.map +0 -1
  505. package/dist/types/svm/utils/events.d.ts +0 -18
  506. package/dist/types/svm/utils/events.d.ts.map +0 -1
  507. package/dist/types/svm/utils/helpers.d.ts +0 -6
  508. package/dist/types/svm/utils/helpers.d.ts.map +0 -1
  509. package/dist/types/svm/utils/index.d.ts +0 -2
  510. package/dist/types/svm/utils/index.d.ts.map +0 -1
  511. package/src/svm/eventsClient.ts +0 -199
  512. package/src/svm/index.ts +0 -3
  513. package/src/svm/utils/events.ts +0 -58
  514. package/src/svm/utils/helpers.ts +0 -9
  515. package/src/svm/utils/index.ts +0 -1
  516. /package/dist/cjs/{svm → arch/svm}/types.js +0 -0
  517. /package/dist/cjs/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +0 -0
  518. /package/dist/esm/{svm → arch/svm}/types.js +0 -0
  519. /package/dist/esm/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +0 -0
@@ -1,8 +1,10 @@
1
1
  import { providers } from "ethers";
2
2
  import { QueryBase } from "./baseQuery";
3
+ import { SVMProvider as svmProvider } from "../../arch/svm";
3
4
  import { Logger } from "../relayFeeCalculator";
5
+ import { SvmQuery } from "./svmQuery";
4
6
  export declare class QueryBase__factory {
5
- static create(chainId: number, provider: providers.Provider, symbolMapping?: {
7
+ static create(chainId: number, provider: providers.Provider | svmProvider, symbolMapping?: {
6
8
  ACX: {
7
9
  name: string;
8
10
  symbol: string;
@@ -395,5 +397,5 @@ export declare class QueryBase__factory {
395
397
  };
396
398
  coingeckoId: string;
397
399
  };
398
- }, spokePoolAddress?: string | undefined, simulatedRelayerAddress?: string, coingeckoProApiKey?: string, logger?: Logger, coingeckoBaseCurrency?: string): QueryBase;
400
+ }, spokePoolAddress?: string | undefined, simulatedRelayerAddress?: string, coingeckoProApiKey?: string, logger?: Logger, coingeckoBaseCurrency?: string): QueryBase | SvmQuery;
399
401
  }
@@ -3,11 +3,12 @@ import assert from "assert";
3
3
  import { CHAIN_IDs, TOKEN_SYMBOLS_MAP } from "@across-protocol/constants";
4
4
  import { getDeployedAddress } from "@across-protocol/contracts";
5
5
  import { asL2Provider } from "@eth-optimism/sdk";
6
- import { DEFAULT_SIMULATED_RELAYER_ADDRESS, CUSTOM_GAS_TOKENS } from "../../constants";
7
- import { chainIsOPStack, isDefined } from "../../utils";
6
+ import { CUSTOM_GAS_TOKENS } from "../../constants";
7
+ import { chainIsOPStack, isDefined, chainIsSvm, SvmAddress } from "../../utils";
8
8
  import { QueryBase } from "./baseQuery";
9
- import { DEFAULT_LOGGER } from "../relayFeeCalculator";
9
+ import { DEFAULT_LOGGER, getDefaultSimulatedRelayerAddress } from "../relayFeeCalculator";
10
10
  import { CustomGasTokenQueries } from "./customGasToken";
11
+ import { SvmQuery } from "./svmQuery";
11
12
  /**
12
13
  * Some chains have a fixed gas price that is applied to the gas estimates. We should override
13
14
  * the gas markup for these chains.
@@ -21,7 +22,7 @@ var QueryBase__factory = /** @class */ (function () {
21
22
  QueryBase__factory.create = function (chainId, provider, symbolMapping, spokePoolAddress, simulatedRelayerAddress, coingeckoProApiKey, logger, coingeckoBaseCurrency) {
22
23
  if (symbolMapping === void 0) { symbolMapping = TOKEN_SYMBOLS_MAP; }
23
24
  if (spokePoolAddress === void 0) { spokePoolAddress = getDeployedAddress("SpokePool", chainId); }
24
- if (simulatedRelayerAddress === void 0) { simulatedRelayerAddress = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
25
+ if (simulatedRelayerAddress === void 0) { simulatedRelayerAddress = getDefaultSimulatedRelayerAddress(chainId); }
25
26
  if (logger === void 0) { logger = DEFAULT_LOGGER; }
26
27
  if (coingeckoBaseCurrency === void 0) { coingeckoBaseCurrency = "eth"; }
27
28
  assert(isDefined(spokePoolAddress));
@@ -41,8 +42,13 @@ var QueryBase__factory = /** @class */ (function () {
41
42
  customGasTokenSymbol: customGasTokenSymbol,
42
43
  });
43
44
  }
45
+ if (chainIsSvm(chainId)) {
46
+ return new SvmQuery(provider, symbolMapping, SvmAddress.from(spokePoolAddress), SvmAddress.from(simulatedRelayerAddress), logger, coingeckoProApiKey, fixedGasPrice[chainId], coingeckoBaseCurrency);
47
+ }
44
48
  // For OPStack chains, we need to wrap the provider in an L2Provider
45
- provider = chainIsOPStack(chainId) ? asL2Provider(provider) : provider;
49
+ provider = chainIsOPStack(chainId)
50
+ ? asL2Provider(provider)
51
+ : provider;
46
52
  return new QueryBase(provider, symbolMapping, spokePoolAddress, simulatedRelayerAddress, logger, coingeckoProApiKey, fixedGasPrice[chainId], coingeckoBaseCurrency);
47
53
  };
48
54
  return QueryBase__factory;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/factory.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAU,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;GAGG;AACH,IAAM,aAAa;IACjB,GAAC,SAAS,CAAC,IAAI,IAAG,GAAG;OACtB,CAAC;AAEF;IAAA;IA4CA,CAAC;IA3CQ,yBAAM,GAAb,UACE,OAAe,EACf,QAA4B,EAC5B,aAAiC,EACjC,gBAA2D,EAC3D,uBAA2D,EAC3D,kBAA2B,EAC3B,MAA+B,EAC/B,qBAA6B;QAL7B,8BAAA,EAAA,iCAAiC;QACjC,iCAAA,EAAA,mBAAmB,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC;QAC3D,wCAAA,EAAA,2DAA2D;QAE3D,uBAAA,EAAA,uBAA+B;QAC/B,sCAAA,EAAA,6BAA6B;QAE7B,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEpC,IAAM,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,oBAAoB,EAAE;YACxB,OAAO,IAAI,qBAAqB,CAAC;gBAC/B,aAAa,EAAE;oBACb,QAAQ;oBACR,aAAa;oBACb,gBAAgB;oBAChB,uBAAuB;oBACvB,MAAM;oBACN,kBAAkB;oBAClB,aAAa,CAAC,OAAO,CAAC;oBACtB,KAAK;iBACN;gBACD,oBAAoB,sBAAA;aACrB,CAAC,CAAC;SACJ;QAED,oEAAoE;QACpE,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEvE,OAAO,IAAI,SAAS,CAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACH,yBAAC;AAAD,CAAC,AA5CD,IA4CC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/factory.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,iCAAiC,EAAU,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;GAGG;AACH,IAAM,aAAa;IACjB,GAAC,SAAS,CAAC,IAAI,IAAG,GAAG;OACtB,CAAC;AAEF;IAAA;IA0DA,CAAC;IAzDQ,yBAAM,GAAb,UACE,OAAe,EACf,QAA0C,EAC1C,aAAiC,EACjC,gBAA2D,EAC3D,uBAAoE,EACpE,kBAA2B,EAC3B,MAA+B,EAC/B,qBAA6B;QAL7B,8BAAA,EAAA,iCAAiC;QACjC,iCAAA,EAAA,mBAAmB,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC;QAC3D,wCAAA,EAAA,0BAA0B,iCAAiC,CAAC,OAAO,CAAC;QAEpE,uBAAA,EAAA,uBAA+B;QAC/B,sCAAA,EAAA,6BAA6B;QAE7B,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEpC,IAAM,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,oBAAoB,EAAE;YACxB,OAAO,IAAI,qBAAqB,CAAC;gBAC/B,aAAa,EAAE;oBACb,QAA8B;oBAC9B,aAAa;oBACb,gBAAgB;oBAChB,uBAAuB;oBACvB,MAAM;oBACN,kBAAkB;oBAClB,aAAa,CAAC,OAAO,CAAC;oBACtB,KAAK;iBACN;gBACD,oBAAoB,sBAAA;aACrB,CAAC,CAAC;SACJ;QACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;YACvB,OAAO,IAAI,QAAQ,CACjB,QAAuB,EACvB,aAAa,EACb,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACjC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,EACxC,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;SACH;QAED,oEAAoE;QACpE,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,YAAY,CAAC,QAA8B,CAAC;YAC9C,CAAC,CAAE,QAA+B,CAAC;QAErC,OAAO,IAAI,SAAS,CAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACH,yBAAC;AAAD,CAAC,AA1DD,IA0DC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./baseQuery";
2
2
  export * from "./factory";
3
3
  export * from "./customGasToken";
4
+ export * from "./svmQuery";
@@ -1,4 +1,5 @@
1
1
  export * from "./baseQuery";
2
2
  export * from "./factory";
3
3
  export * from "./customGasToken";
4
+ export * from "./svmQuery";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { SymbolMappingType } from "./";
2
+ import { Deposit } from "../../interfaces";
3
+ import { BigNumberish, TransactionCostEstimate, BigNumber, SvmAddress } from "../../utils";
4
+ import { Logger, QueryInterface } from "../relayFeeCalculator";
5
+ import { SVMProvider } from "../../arch/svm";
6
+ import { IInstruction } from "@solana/kit";
7
+ /**
8
+ * A special QueryBase implementation for SVM used for querying gas costs, token prices, and decimals of various tokens
9
+ * on Solana.
10
+ */
11
+ export declare class SvmQuery implements QueryInterface {
12
+ readonly provider: SVMProvider;
13
+ readonly symbolMapping: SymbolMappingType;
14
+ readonly spokePoolAddress: SvmAddress;
15
+ readonly simulatedRelayerAddress: SvmAddress;
16
+ readonly logger: Logger;
17
+ readonly coingeckoProApiKey?: string | undefined;
18
+ readonly fixedGasPrice?: BigNumberish | undefined;
19
+ readonly coingeckoBaseCurrency: string;
20
+ protected computeUnitEstimator: (transactionMessage: import("@solana/kit").CompilableTransactionMessage | (import("@solana/kit").ITransactionMessageWithFeePayer<string> & import("@solana/kit").TransactionMessage), config?: Omit<Readonly<{
21
+ abortSignal?: AbortSignal | undefined;
22
+ commitment?: import("@solana/kit").Commitment | undefined;
23
+ minContextSlot?: bigint | undefined;
24
+ rpc: import("@solana/kit").Rpc<import("@solana/kit").SimulateTransactionApi>;
25
+ transactionMessage: import("@solana/kit").CompilableTransactionMessage | (import("@solana/kit").ITransactionMessageWithFeePayer<string> & import("@solana/kit").TransactionMessage);
26
+ }>, "rpc" | "transactionMessage"> | undefined) => Promise<number>;
27
+ /**
28
+ * Instantiates a SvmQuery instance
29
+ * @param provider A valid solana/kit rpc client.
30
+ * @param symbolMapping A mapping to valid ERC20 tokens and their respective characteristics
31
+ * @param spokePoolAddress The valid address of the Spoke Pool deployment
32
+ * @param simulatedRelayerAddress The address that these queries will reference as the sender. Note: This address must be approved for USDC
33
+ * @param logger A logging utility to report logs
34
+ * @param coingeckoProApiKey An optional CoinGecko API key that links to a PRO account
35
+ * @param fixedGasPrice Overrides the gas price with a fixed value. Note: primarily used for the Boba blockchain
36
+ * @param coingeckoBaseCurrency The basis currency that CoinGecko will use to resolve pricing
37
+ */
38
+ constructor(provider: SVMProvider, symbolMapping: SymbolMappingType, spokePoolAddress: SvmAddress, simulatedRelayerAddress: SvmAddress, logger: Logger, coingeckoProApiKey?: string | undefined, fixedGasPrice?: BigNumberish | undefined, coingeckoBaseCurrency?: string);
39
+ /**
40
+ * Retrieves the current gas costs of performing a fillRelay contract at the referenced SpokePool.
41
+ * @param deposit V3 deposit instance.
42
+ * @param relayerAddress Relayer address to simulate with.
43
+ * @param options
44
+ * @param options.gasPrice Optional gas price to use for the simulation.
45
+ * @param options.gasUnits Optional gas units to use for the simulation.
46
+ * @param options.transport Optional transport object for custom gas price retrieval.
47
+ * @returns The gas estimate for this function call (multiplied with the optional buffer).
48
+ */
49
+ getGasCosts(deposit: Omit<Deposit, "messageHash">, _relayer?: string, options?: Partial<{
50
+ gasPrice: BigNumberish;
51
+ gasUnits: BigNumberish;
52
+ baseFeeMultiplier: BigNumber;
53
+ priorityFeeMultiplier: BigNumber;
54
+ }>): Promise<TransactionCostEstimate>;
55
+ /**
56
+ * @notice Return the gas cost of a simulated transaction
57
+ * @param fillRelayTx FillRelay transaction
58
+ * @param relayer SVM address of the relayer
59
+ * @returns Estimated gas cost in compute units
60
+ */
61
+ getNativeGasCost(deposit: Omit<Deposit, "messageHash">, _relayer?: string): Promise<BigNumber>;
62
+ /**
63
+ * @notice Return the fillRelay transaction for a given deposit
64
+ * @param deposit
65
+ * @param relayer SVM address of the relayer
66
+ * @returns FillRelay transaction
67
+ */
68
+ getFillRelayTx(deposit: Omit<Deposit, "messageHash">, _relayer?: string): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayer<string> & Omit<Readonly<{
69
+ instructions: readonly IInstruction<string, readonly (import("@solana/kit").IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
70
+ version: 0;
71
+ }>, "feePayer">>;
72
+ /**
73
+ * Retrieves the current price of a token
74
+ * @param tokenSymbol A valid [CoinGecko-ID](https://api.coingecko.com/api/v3/coins/list)
75
+ * @returns The resolved token price within the specified coingeckoBaseCurrency
76
+ */
77
+ getTokenPrice(tokenSymbol: string): Promise<number>;
78
+ /**
79
+ * Resolves the number of decimal places a token can have
80
+ * @param tokenSymbol A valid Across-Enabled Token ID
81
+ * @returns The number of decimals of precision for the corresponding tokenSymbol
82
+ */
83
+ getTokenDecimals(tokenSymbol: string): number;
84
+ }
@@ -0,0 +1,216 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { pipe } from "@solana/functional";
3
+ import { Coingecko } from "../../coingecko";
4
+ import { CHAIN_IDs } from "../../constants";
5
+ import { getGasPriceEstimate } from "../../gasPriceOracle";
6
+ import { toBN, isDefined, toAddressType, } from "../../utils";
7
+ import { getDefaultSimulatedRelayerAddress } from "../relayFeeCalculator";
8
+ import { fillRelayInstruction, createApproveInstruction, createTokenAccountsInstruction, SolanaVoidSigner, getAssociatedTokenAddress, } from "../../arch/svm";
9
+ import { createTransactionMessage, setTransactionMessageFeePayer, setTransactionMessageLifetimeUsingBlockhash, appendTransactionMessageInstructions, getComputeUnitEstimateForTransactionMessageFactory, fetchEncodedAccount, } from "@solana/kit";
10
+ import { TOKEN_PROGRAM_ADDRESS, getMintSize, getInitializeMintInstruction, fetchMint } from "@solana-program/token";
11
+ import { getCreateAccountInstruction } from "@solana-program/system";
12
+ /**
13
+ * A special QueryBase implementation for SVM used for querying gas costs, token prices, and decimals of various tokens
14
+ * on Solana.
15
+ */
16
+ var SvmQuery = /** @class */ (function () {
17
+ /**
18
+ * Instantiates a SvmQuery instance
19
+ * @param provider A valid solana/kit rpc client.
20
+ * @param symbolMapping A mapping to valid ERC20 tokens and their respective characteristics
21
+ * @param spokePoolAddress The valid address of the Spoke Pool deployment
22
+ * @param simulatedRelayerAddress The address that these queries will reference as the sender. Note: This address must be approved for USDC
23
+ * @param logger A logging utility to report logs
24
+ * @param coingeckoProApiKey An optional CoinGecko API key that links to a PRO account
25
+ * @param fixedGasPrice Overrides the gas price with a fixed value. Note: primarily used for the Boba blockchain
26
+ * @param coingeckoBaseCurrency The basis currency that CoinGecko will use to resolve pricing
27
+ */
28
+ function SvmQuery(provider, symbolMapping, spokePoolAddress, simulatedRelayerAddress, logger, coingeckoProApiKey, fixedGasPrice, coingeckoBaseCurrency) {
29
+ if (coingeckoBaseCurrency === void 0) { coingeckoBaseCurrency = "eth"; }
30
+ this.provider = provider;
31
+ this.symbolMapping = symbolMapping;
32
+ this.spokePoolAddress = spokePoolAddress;
33
+ this.simulatedRelayerAddress = simulatedRelayerAddress;
34
+ this.logger = logger;
35
+ this.coingeckoProApiKey = coingeckoProApiKey;
36
+ this.fixedGasPrice = fixedGasPrice;
37
+ this.coingeckoBaseCurrency = coingeckoBaseCurrency;
38
+ this.computeUnitEstimator = getComputeUnitEstimateForTransactionMessageFactory({
39
+ rpc: provider,
40
+ });
41
+ }
42
+ /**
43
+ * Retrieves the current gas costs of performing a fillRelay contract at the referenced SpokePool.
44
+ * @param deposit V3 deposit instance.
45
+ * @param relayerAddress Relayer address to simulate with.
46
+ * @param options
47
+ * @param options.gasPrice Optional gas price to use for the simulation.
48
+ * @param options.gasUnits Optional gas units to use for the simulation.
49
+ * @param options.transport Optional transport object for custom gas price retrieval.
50
+ * @returns The gas estimate for this function call (multiplied with the optional buffer).
51
+ */
52
+ SvmQuery.prototype.getGasCosts = function (deposit, _relayer, options) {
53
+ if (_relayer === void 0) { _relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
54
+ if (options === void 0) { options = {}; }
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var relayer, fillRelayTx, _a, computeUnitsConsumed, _gasPriceEstimate, _b, _c, _d, gasPriceEstimate, gasPrice;
57
+ return __generator(this, function (_e) {
58
+ switch (_e.label) {
59
+ case 0:
60
+ relayer = _relayer ? toAddressType(_relayer).forceSvmAddress() : this.simulatedRelayerAddress;
61
+ return [4 /*yield*/, this.getFillRelayTx(deposit, relayer.toBase58())];
62
+ case 1:
63
+ fillRelayTx = _e.sent();
64
+ _c = (_b = Promise).all;
65
+ _d = toBN;
66
+ return [4 /*yield*/, this.computeUnitEstimator(fillRelayTx)];
67
+ case 2: return [4 /*yield*/, _c.apply(_b, [[
68
+ _d.apply(void 0, [_e.sent()]),
69
+ getGasPriceEstimate(this.provider, {
70
+ unsignedTx: fillRelayTx,
71
+ baseFeeMultiplier: options.baseFeeMultiplier,
72
+ priorityFeeMultiplier: options.priorityFeeMultiplier,
73
+ })
74
+ ]])];
75
+ case 3:
76
+ _a = _e.sent(), computeUnitsConsumed = _a[0], _gasPriceEstimate = _a[1];
77
+ gasPriceEstimate = _gasPriceEstimate;
78
+ gasPrice = gasPriceEstimate.baseFee.add(gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div(toBN(1000000)) // 1_000_000 microLamports/lamport.
79
+ );
80
+ return [2 /*return*/, {
81
+ nativeGasCost: computeUnitsConsumed,
82
+ tokenGasCost: gasPrice,
83
+ gasPrice: gasPrice,
84
+ }];
85
+ }
86
+ });
87
+ });
88
+ };
89
+ /**
90
+ * @notice Return the gas cost of a simulated transaction
91
+ * @param fillRelayTx FillRelay transaction
92
+ * @param relayer SVM address of the relayer
93
+ * @returns Estimated gas cost in compute units
94
+ */
95
+ SvmQuery.prototype.getNativeGasCost = function (deposit, _relayer) {
96
+ if (_relayer === void 0) { _relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
97
+ return __awaiter(this, void 0, void 0, function () {
98
+ var fillRelayTx, computeUnitsConsumed, _a;
99
+ return __generator(this, function (_b) {
100
+ switch (_b.label) {
101
+ case 0: return [4 /*yield*/, this.getFillRelayTx(deposit, _relayer)];
102
+ case 1:
103
+ fillRelayTx = _b.sent();
104
+ _a = toBN;
105
+ return [4 /*yield*/, this.computeUnitEstimator(fillRelayTx)];
106
+ case 2:
107
+ computeUnitsConsumed = _a.apply(void 0, [_b.sent()]);
108
+ return [2 /*return*/, computeUnitsConsumed];
109
+ }
110
+ });
111
+ });
112
+ };
113
+ /**
114
+ * @notice Return the fillRelay transaction for a given deposit
115
+ * @param deposit
116
+ * @param relayer SVM address of the relayer
117
+ * @returns FillRelay transaction
118
+ */
119
+ SvmQuery.prototype.getFillRelayTx = function (deposit, _relayer) {
120
+ if (_relayer === void 0) { _relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
121
+ return __awaiter(this, void 0, void 0, function () {
122
+ var relayer, mint, owner, associatedToken, simulatedSigner, recipientCreateTokenAccountInstructions, _a, associatedTokenAccountExists, mintInfo, _b, _c, space, rent, createAccountIx, initializeMintIx, _d, createTokenAccountsIx, approveIx, fillIx, recentBlockhash, fillRelayTx;
123
+ return __generator(this, function (_e) {
124
+ switch (_e.label) {
125
+ case 0:
126
+ relayer = _relayer ? toAddressType(_relayer).forceSvmAddress() : this.simulatedRelayerAddress;
127
+ mint = toAddressType(deposit.outputToken).forceSvmAddress();
128
+ owner = toAddressType(deposit.recipient).forceSvmAddress();
129
+ return [4 /*yield*/, getAssociatedTokenAddress(owner, mint)];
130
+ case 1:
131
+ associatedToken = _e.sent();
132
+ simulatedSigner = SolanaVoidSigner(relayer.toBase58());
133
+ recipientCreateTokenAccountInstructions = undefined;
134
+ _c = (_b = Promise).all;
135
+ return [4 /*yield*/, fetchEncodedAccount(this.provider, associatedToken)];
136
+ case 2: return [4 /*yield*/, _c.apply(_b, [[
137
+ (_e.sent()).exists,
138
+ fetchMint(this.provider, mint.toV2Address())
139
+ ]])];
140
+ case 3:
141
+ _a = _e.sent(), associatedTokenAccountExists = _a[0], mintInfo = _a[1];
142
+ if (!!associatedTokenAccountExists) return [3 /*break*/, 5];
143
+ space = BigInt(getMintSize());
144
+ return [4 /*yield*/, this.provider.getMinimumBalanceForRentExemption(space).send()];
145
+ case 4:
146
+ rent = _e.sent();
147
+ createAccountIx = getCreateAccountInstruction({
148
+ payer: simulatedSigner,
149
+ newAccount: SolanaVoidSigner(mint.toBase58()),
150
+ lamports: rent,
151
+ space: space,
152
+ programAddress: TOKEN_PROGRAM_ADDRESS,
153
+ });
154
+ initializeMintIx = getInitializeMintInstruction({
155
+ mint: mint.toV2Address(),
156
+ decimals: mintInfo.data.decimals,
157
+ mintAuthority: owner.toV2Address(),
158
+ });
159
+ recipientCreateTokenAccountInstructions = [createAccountIx, initializeMintIx];
160
+ _e.label = 5;
161
+ case 5: return [4 /*yield*/, Promise.all([
162
+ createTokenAccountsInstruction(mint, simulatedSigner),
163
+ createApproveInstruction(mint, deposit.outputAmount, this.simulatedRelayerAddress, this.spokePoolAddress, mintInfo.data.decimals),
164
+ fillRelayInstruction(this.spokePoolAddress, deposit, simulatedSigner, associatedToken),
165
+ ])];
166
+ case 6:
167
+ _d = _e.sent(), createTokenAccountsIx = _d[0], approveIx = _d[1], fillIx = _d[2];
168
+ return [4 /*yield*/, this.provider.getLatestBlockhash().send()];
169
+ case 7:
170
+ recentBlockhash = _e.sent();
171
+ fillRelayTx = pipe(createTransactionMessage({ version: 0 }), function (tx) { return setTransactionMessageFeePayer(relayer.toV2Address(), tx); }, function (tx) { return setTransactionMessageLifetimeUsingBlockhash(recentBlockhash.value, tx); }, function (tx) {
172
+ return isDefined(recipientCreateTokenAccountInstructions)
173
+ ? appendTransactionMessageInstructions(recipientCreateTokenAccountInstructions, tx)
174
+ : tx;
175
+ }, function (tx) { return appendTransactionMessageInstructions([createTokenAccountsIx, approveIx, fillIx], tx); });
176
+ return [2 /*return*/, fillRelayTx];
177
+ }
178
+ });
179
+ });
180
+ };
181
+ /**
182
+ * Retrieves the current price of a token
183
+ * @param tokenSymbol A valid [CoinGecko-ID](https://api.coingecko.com/api/v3/coins/list)
184
+ * @returns The resolved token price within the specified coingeckoBaseCurrency
185
+ */
186
+ SvmQuery.prototype.getTokenPrice = function (tokenSymbol) {
187
+ return __awaiter(this, void 0, void 0, function () {
188
+ var coingeckoInstance, _a, price;
189
+ return __generator(this, function (_b) {
190
+ switch (_b.label) {
191
+ case 0:
192
+ if (!this.symbolMapping[tokenSymbol])
193
+ throw new Error("".concat(tokenSymbol, " does not exist in mapping"));
194
+ coingeckoInstance = Coingecko.get(this.logger, this.coingeckoProApiKey);
195
+ return [4 /*yield*/, coingeckoInstance.getCurrentPriceByContract(this.symbolMapping[tokenSymbol].addresses[CHAIN_IDs.MAINNET], this.coingeckoBaseCurrency)];
196
+ case 1:
197
+ _a = _b.sent(), price = _a[1];
198
+ return [2 /*return*/, price];
199
+ }
200
+ });
201
+ });
202
+ };
203
+ /**
204
+ * Resolves the number of decimal places a token can have
205
+ * @param tokenSymbol A valid Across-Enabled Token ID
206
+ * @returns The number of decimals of precision for the corresponding tokenSymbol
207
+ */
208
+ SvmQuery.prototype.getTokenDecimals = function (tokenSymbol) {
209
+ if (!this.symbolMapping[tokenSymbol])
210
+ throw new Error("".concat(tokenSymbol, " does not exist in mapping"));
211
+ return this.symbolMapping[tokenSymbol].decimals;
212
+ };
213
+ return SvmQuery;
214
+ }());
215
+ export { SvmQuery };
216
+ //# sourceMappingURL=svmQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface QueryInterface {
11
11
  transport: Transport;
12
12
  }>) => Promise<TransactionCostEstimate>;
13
13
  getTokenPrice: (tokenSymbol: string) => Promise<number>;
14
+ getNativeGasCost: (deposit: Omit<Deposit, "messageHash">, relayer: string) => Promise<BigNumber>;
14
15
  }
15
16
  export declare const expectedCapitalCostsKeys: string[];
16
17
  export interface CapitalCostConfig {
@@ -73,6 +74,7 @@ export interface Logger {
73
74
  error: LoggingFunction;
74
75
  }
75
76
  export declare const DEFAULT_LOGGER: Logger;
77
+ export declare function getDefaultSimulatedRelayerAddress(chainId?: number): "0x07aE8551Be970cB1cCa11Dd7a11F47Ae82e70E67" | "FmMK62wrtWVb5SVoTZftSCGw3nEDA79hDbZNTRnC1R6t";
76
78
  export declare class RelayFeeCalculator {
77
79
  private queries;
78
80
  private gasDiscountPercent;
@@ -421,7 +423,16 @@ export declare class RelayFeeCalculator {
421
423
  VLR: {
422
424
  name: string;
423
425
  symbol: string;
424
- decimals: number;
426
+ decimals: number; /**
427
+ * Type guard to check if a config is a CapitalCostConfigOverride or a CapitalCostConfig.
428
+ * @param config CapitalCostConfig or CapitalCostConfigOverride
429
+ * @returns true if the config is a CapitalCostConfigOverride, false otherwise.
430
+ * @private
431
+ * @dev This is a type guard that is used to check if a config is a CapitalCostConfigOverride or a CapitalCostConfig.
432
+ * This is needed because the config can be either a CapitalCostConfig or a CapitalCostConfigOverride. If it's a
433
+ * CapitalCostConfig, then we need to convert it to a CapitalCostConfigOverride with the default config set with no route
434
+ * overrides.
435
+ */
425
436
  addresses: {
426
437
  [x: number]: string;
427
438
  };
@@ -1,7 +1,7 @@
1
1
  import { __assign, __awaiter, __generator } from "tslib";
2
2
  import assert from "assert";
3
- import { DEFAULT_SIMULATED_RELAYER_ADDRESS, TOKEN_SYMBOLS_MAP } from "../constants";
4
- import { MAX_BIG_INT, bnZero, fixedPointAdjustment, getTokenInfo, isDefined, max, min, nativeToToken, percent, toBN, toBNWei, isZeroAddress, compareAddressesSimple, } from "../utils";
3
+ import { DEFAULT_SIMULATED_RELAYER_ADDRESS, DEFAULT_SIMULATED_RELAYER_ADDRESS_SVM, TOKEN_SYMBOLS_MAP, } from "../constants";
4
+ import { MAX_BIG_INT, bnZero, fixedPointAdjustment, getTokenInfo, isDefined, max, min, nativeToToken, percent, toBN, toBNWei, isZeroAddress, compareAddressesSimple, chainIsSvm, } from "../utils";
5
5
  export var expectedCapitalCostsKeys = ["lowerBound", "upperBound", "cutoff", "decimals"];
6
6
  export var DEFAULT_LOGGER = {
7
7
  debug: function () {
@@ -33,6 +33,11 @@ export var DEFAULT_LOGGER = {
33
33
  return console.error(args);
34
34
  },
35
35
  };
36
+ export function getDefaultSimulatedRelayerAddress(chainId) {
37
+ return isDefined(chainId) && chainIsSvm(chainId)
38
+ ? DEFAULT_SIMULATED_RELAYER_ADDRESS_SVM
39
+ : DEFAULT_SIMULATED_RELAYER_ADDRESS;
40
+ }
36
41
  // Small amount to simulate filling with. Should be low enough to guarantee a successful fill.
37
42
  var safeOutputAmount = toBN(100);
38
43
  var RelayFeeCalculator = /** @class */ (function () {
@@ -132,7 +137,7 @@ var RelayFeeCalculator = /** @class */ (function () {
132
137
  */
133
138
  RelayFeeCalculator.prototype.gasFeePercent = function (deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, tokenMapping, gasPrice, gasLimit, _tokenGasCost, transport) {
134
139
  if (simulateZeroFill === void 0) { simulateZeroFill = false; }
135
- if (relayerAddress === void 0) { relayerAddress = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
140
+ if (relayerAddress === void 0) { relayerAddress = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
136
141
  if (tokenMapping === void 0) { tokenMapping = TOKEN_SYMBOLS_MAP; }
137
142
  return __awaiter(this, void 0, void 0, function () {
138
143
  var inputToken, destinationChainId, originChainId, destinationChainTokenDetails, outputToken, outputTokenInfo, inputTokenInfo, simulatedAmount, getGasCosts, _a, tokenGasCost, tokenPrice, gasFeesInToken;
@@ -333,7 +338,7 @@ var RelayFeeCalculator = /** @class */ (function () {
333
338
  */
334
339
  RelayFeeCalculator.prototype.relayerFeeDetails = function (deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, gasPrice, gasUnits, tokenGasCost) {
335
340
  if (simulateZeroFill === void 0) { simulateZeroFill = false; }
336
- if (relayerAddress === void 0) { relayerAddress = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
341
+ if (relayerAddress === void 0) { relayerAddress = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
337
342
  return __awaiter(this, void 0, void 0, function () {
338
343
  var inputToken, originChainId, token, gasFeePercent, gasFeeTotal, capitalFeePercent, capitalFeeTotal, relayFeePercent, relayFeeTotal, maxGasFeePercent, minDeposit, isAmountTooLow;
339
344
  return __generator(this, function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ /// <reference types="node" />
1
2
  import { providers } from "ethers";
3
+ import { Address as V2Address } from "@solana/kit";
2
4
  import { BigNumber } from "./";
3
5
  /**
4
6
  * Checks if a contract is deployed at the given address
@@ -19,7 +21,7 @@ export declare function isValidEvmAddress(address: string): boolean;
19
21
  * @returns a child `Address` type most fitting for the chain ID.
20
22
  * @todo: Change this to `toAddress` once we remove the other `toAddress` function.
21
23
  */
22
- export declare function toAddressType(address: string, chainId: number): Address | EvmAddress | SvmAddress;
24
+ export declare function toAddressType(address: string): Address | EvmAddress | SvmAddress;
23
25
  export declare class Address {
24
26
  readonly rawAddress: Uint8Array;
25
27
  evmAddress: string | undefined;
@@ -32,23 +34,27 @@ export declare class Address {
32
34
  toBigNumber(): BigNumber;
33
35
  toEvmAddress(): string;
34
36
  toAddress(): string;
37
+ toBuffer(): Buffer;
35
38
  toHexString(): string;
36
39
  isValidEvmAddress(): boolean;
37
40
  isValidOn(chainId: number): boolean;
38
41
  static isAddress(obj: unknown): boolean;
39
42
  toString(): string;
40
43
  isZeroAddress(): boolean;
44
+ forceSvmAddress(): SvmAddress;
45
+ forceEvmAddress(): EvmAddress;
41
46
  eq(other: Address): boolean;
42
47
  compare(otherAddress: Address): 1 | -1 | 0;
43
48
  }
44
49
  export declare class EvmAddress extends Address {
45
50
  constructor(rawAddress: Uint8Array);
46
51
  toAddress(): string;
47
- static from(hexString: string): EvmAddress;
52
+ static from(address: string, encoding?: "base16" | "base58"): EvmAddress;
48
53
  }
49
54
  export declare class SvmAddress extends Address {
50
55
  constructor(rawAddress: Uint8Array);
51
56
  toAddress(): string;
57
+ toV2Address(): V2Address<string>;
52
58
  toEvmAddress(): string;
53
- static from(bs58Address: string): SvmAddress;
59
+ static from(address: string, encoding?: "base58" | "base16"): SvmAddress;
54
60
  }