@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
@@ -1,7 +1,7 @@
1
1
  import { providers } from "ethers";
2
2
  import { BigNumber } from "../../utils";
3
- import { GasPriceEstimate } from "../types";
3
+ import { EvmGasPriceEstimate } from "../types";
4
4
  import { GasPriceEstimateOptions } from "../oracle";
5
- export declare function eip1559(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<GasPriceEstimate>;
6
- export declare function eip1559Raw(provider: providers.Provider, chainId: number, baseFeeMultiplier: BigNumber, priorityFeeMultiplier: BigNumber): Promise<GasPriceEstimate>;
7
- export declare function legacy(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<GasPriceEstimate>;
5
+ export declare function eip1559(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<EvmGasPriceEstimate>;
6
+ export declare function eip1559Raw(provider: providers.Provider, chainId: number, baseFeeMultiplier: BigNumber, priorityFeeMultiplier: BigNumber): Promise<EvmGasPriceEstimate>;
7
+ export declare function legacy(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<EvmGasPriceEstimate>;
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/ethereum.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAE5B,qCAAkG;AAElG,gCAAwC;AAWxC,SAAgB,OAAO,CAAC,QAA4B,EAAE,IAA6B;IACjF,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAChG,CAAC;AAFD,0BAEC;AASD,SAAsB,UAAU,CAC9B,QAA4B,EAC5B,OAAe,EACf,iBAA4B,EAC5B,qBAAgC;;;;;wBAEmB,WAAM,OAAO,CAAC,GAAG,CAAC;wBACnE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAC3B,QAAsC,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC;qBAC7E,CAAC,EAAA;;oBAHI,KAA6C,SAGjD,EAHO,aAAa,sBAAA,EAAI,qBAAqB,QAAA;oBAIzC,oBAAoB,GAAG,iBAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACnE,IAAA,gBAAM,EAAC,iBAAS,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,uCAAgC,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAE,CAAC,CAAC;oBAEpG,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;oBAC5F,wBAAwB,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,mCAA4B,OAAO,CAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC1G,IAAI,iBAAiB,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE;wBAClD,iBAAiB,GAAG,iBAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;qBAC9D;oBACK,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;oBACrF,WAAO;4BACL,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC;4BAClD,oBAAoB,EAAE,iBAAiB;yBACxC,EAAC;;;;CACH;AAvBD,gCAuBC;AAOD,SAAsB,MAAM,CAAC,QAA4B,EAAE,IAA6B;;;;;;oBAC9E,OAAO,GAAwB,IAAI,QAA5B,EAAE,iBAAiB,GAAK,IAAI,kBAAT,CAAU;oBAC3B,WAAM,QAAQ,CAAC,WAAW,EAAE,EAAA;;oBAAvC,QAAQ,GAAG,SAA4B;oBAE7C,IAAI,CAAC,iBAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,cAAM,CAAC;wBAAE,IAAA,oBAAa,EAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAE/G,WAAO;4BACL,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC;4BACvE,oBAAoB,EAAE,cAAM;yBAC7B,EAAC;;;;CACH;AAVD,wBAUC"}
1
+ {"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/ethereum.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAE5B,qCAAkG;AAElG,gCAAwC;AAWxC,SAAgB,OAAO,CAAC,QAA4B,EAAE,IAA6B;IACjF,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAChG,CAAC;AAFD,0BAEC;AASD,SAAsB,UAAU,CAC9B,QAA4B,EAC5B,OAAe,EACf,iBAA4B,EAC5B,qBAAgC;;;;;wBAEmB,WAAM,OAAO,CAAC,GAAG,CAAC;wBACnE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAC3B,QAAsC,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC;qBAC7E,CAAC,EAAA;;oBAHI,KAA6C,SAGjD,EAHO,aAAa,sBAAA,EAAI,qBAAqB,QAAA;oBAIzC,oBAAoB,GAAG,iBAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACnE,IAAA,gBAAM,EAAC,iBAAS,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,uCAAgC,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAE,CAAC,CAAC;oBAEpG,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;oBAC5F,wBAAwB,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,mCAA4B,OAAO,CAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC1G,IAAI,iBAAiB,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE;wBAClD,iBAAiB,GAAG,iBAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;qBAC9D;oBACK,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;oBACrF,WAAO;4BACL,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC;4BAClD,oBAAoB,EAAE,iBAAiB;yBACxC,EAAC;;;;CACH;AAvBD,gCAuBC;AAOD,SAAsB,MAAM,CAC1B,QAA4B,EAC5B,IAA6B;;;;;;oBAErB,OAAO,GAAwB,IAAI,QAA5B,EAAE,iBAAiB,GAAK,IAAI,kBAAT,CAAU;oBAC3B,WAAM,QAAQ,CAAC,WAAW,EAAE,EAAA;;oBAAvC,QAAQ,GAAG,SAA4B;oBAE7C,IAAI,CAAC,iBAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,cAAM,CAAC;wBAAE,IAAA,oBAAa,EAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAE/G,WAAO;4BACL,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC;4BACvE,oBAAoB,EAAE,cAAM;yBAC7B,EAAC;;;;CACH;AAbD,wBAaC"}
@@ -8,11 +8,12 @@ var utils_1 = require("../../utils");
8
8
  function eip1559(provider, opts) {
9
9
  var _a, _b, _c, _d, _e;
10
10
  return tslib_1.__awaiter(this, void 0, void 0, function () {
11
- var unsignedTx, priorityFeeMultiplier, _f, baseFeePerGas, _priorityFeePerGas, priorityFeePerGas;
11
+ var _unsignedTx, priorityFeeMultiplier, unsignedTx, _f, baseFeePerGas, _priorityFeePerGas, priorityFeePerGas;
12
12
  return tslib_1.__generator(this, function (_g) {
13
13
  switch (_g.label) {
14
14
  case 0:
15
- unsignedTx = opts.unsignedTx, priorityFeeMultiplier = opts.priorityFeeMultiplier;
15
+ _unsignedTx = opts.unsignedTx, priorityFeeMultiplier = opts.priorityFeeMultiplier;
16
+ unsignedTx = _unsignedTx;
16
17
  return [4, (0, linea_1.estimateGas)(provider, {
17
18
  account: (_a = unsignedTx === null || unsignedTx === void 0 ? void 0 : unsignedTx.from) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_SIMULATED_RELAYER_ADDRESS,
18
19
  to: (_b = unsignedTx === null || unsignedTx === void 0 ? void 0 : unsignedTx.to) !== null && _b !== void 0 ? _b : constants_1.DEFAULT_SIMULATED_RELAYER_ADDRESS,
@@ -1 +1 @@
1
- {"version":3,"file":"linea-viem.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/linea-viem.ts"],"names":[],"mappings":";;;;AACA,oCAAyC;AACzC,6CAA+E;AAG/E,qCAAmD;AAmBnD,SAAsB,OAAO,CAC3B,QAAsB,EACtB,IAA6B;;;;;;;oBAErB,UAAU,GAA4B,IAAI,WAAhC,EAAE,qBAAqB,GAAK,IAAI,sBAAT,CAAU;oBACc,WAAM,IAAA,mBAAW,EAAC,QAAQ,EAAE;4BAC3F,OAAO,EAAE,MAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAgB,mCAAI,6CAAO;4BACjD,EAAE,EAAE,MAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,EAAc,mCAAI,6CAAO;4BAC1C,KAAK,EAAE,MAAM,CAAC,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAE,QAAQ,EAAE,mCAAI,GAAG,CAAC;4BACnD,IAAI,EAAE,MAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAY,mCAAI,IAAI;yBACxC,CAAC,EAAA;;oBALI,KAA2D,SAK/D,EALM,aAAa,mBAAA,EAAqB,kBAAkB,uBAAA;oBAMtD,iBAAiB,GACrB,CAAC,kBAAkB,GAAG,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,4BAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAE5G,WAAO;4BACL,YAAY,EAAE,aAAa,GAAG,iBAAiB;4BAC/C,oBAAoB,EAAE,iBAAiB;yBACxC,EAAC;;;;CACH;AAlBD,0BAkBC"}
1
+ {"version":3,"file":"linea-viem.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/linea-viem.ts"],"names":[],"mappings":";;;;AAEA,oCAAyC;AACzC,6CAA+E;AAG/E,qCAAmD;AAmBnD,SAAsB,OAAO,CAC3B,QAAsB,EACtB,IAA6B;;;;;;;oBAET,WAAW,GAA4B,IAAI,WAAhC,EAAE,qBAAqB,GAAK,IAAI,sBAAT,CAAU;oBAC1D,UAAU,GAAG,WAAmC,CAAC;oBACU,WAAM,IAAA,mBAAW,EAAC,QAAQ,EAAE;4BAC3F,OAAO,EAAE,MAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAgB,mCAAI,6CAAO;4BACjD,EAAE,EAAE,MAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,EAAc,mCAAI,6CAAO;4BAC1C,KAAK,EAAE,MAAM,CAAC,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAE,QAAQ,EAAE,mCAAI,GAAG,CAAC;4BACnD,IAAI,EAAE,MAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAY,mCAAI,IAAI;yBACxC,CAAC,EAAA;;oBALI,KAA2D,SAK/D,EALM,aAAa,mBAAA,EAAqB,kBAAkB,uBAAA;oBAMtD,iBAAiB,GACrB,CAAC,kBAAkB,GAAG,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,4BAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAE5G,WAAO;4BACL,YAAY,EAAE,aAAa,GAAG,iBAAiB;4BAC/C,oBAAoB,EAAE,iBAAiB;yBACxC,EAAC;;;;CACH;AAnBD,0BAmBC"}
@@ -1,7 +1,7 @@
1
1
  import { providers } from "ethers";
2
2
  import { BaseHTTPAdapter, BaseHTTPAdapterArgs } from "../../priceClient/adapters/baseAdapter";
3
3
  import { BigNumber } from "../../utils";
4
- import { GasPriceEstimate } from "../types";
4
+ import { EvmGasPriceEstimate } from "../types";
5
5
  import { GasPriceEstimateOptions } from "../oracle";
6
6
  type Polygon1559GasPrice = {
7
7
  maxPriorityFee: number | string;
@@ -14,10 +14,10 @@ type GasStationArgs = BaseHTTPAdapterArgs & {
14
14
  export declare class PolygonGasStation extends BaseHTTPAdapter {
15
15
  readonly chainId: number;
16
16
  constructor({ chainId, host, timeout, retries }?: GasStationArgs);
17
- getFeeData(strategy?: "safeLow" | "standard" | "fast"): Promise<GasPriceEstimate>;
17
+ getFeeData(strategy?: "safeLow" | "standard" | "fast"): Promise<EvmGasPriceEstimate>;
18
18
  protected isPolygon1559GasPrice(gasPrice: unknown): gasPrice is Polygon1559GasPrice;
19
19
  }
20
20
  export declare const MockPolygonGasStationBaseFee: () => BigNumber;
21
21
  export declare const MockPolygonGasStationPriorityFee: () => BigNumber;
22
- export declare function gasStation(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<GasPriceEstimate>;
22
+ export declare function gasStation(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<EvmGasPriceEstimate>;
23
23
  export {};
@@ -0,0 +1,4 @@
1
+ import { SVMProvider } from "../../arch/svm";
2
+ import { GasPriceEstimate } from "../types";
3
+ import { GasPriceEstimateOptions } from "../oracle";
4
+ export declare function messageFee(provider: SVMProvider, opts: GasPriceEstimateOptions): Promise<GasPriceEstimate>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.messageFee = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var utils_1 = require("../../utils");
6
+ var kit_1 = require("@solana/kit");
7
+ function messageFee(provider, opts) {
8
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
9
+ var _unsignedTx, unsignedTx, compiledTransaction, encodedTransactionMessage, baseFeeResponse, instructionAddresses, recentPriorityFees, nonzeroPrioritizationFees, totalPrioritizationFees, flooredPriorityFeePerGas, microLamportsPerComputeUnit;
10
+ return tslib_1.__generator(this, function (_a) {
11
+ switch (_a.label) {
12
+ case 0:
13
+ _unsignedTx = opts.unsignedTx;
14
+ unsignedTx = _unsignedTx;
15
+ compiledTransaction = (0, kit_1.compileTransaction)(unsignedTx);
16
+ encodedTransactionMessage = Buffer.from(compiledTransaction.messageBytes).toString("base64");
17
+ return [4, provider.getFeeForMessage(encodedTransactionMessage).send()];
18
+ case 1:
19
+ baseFeeResponse = _a.sent();
20
+ instructionAddresses = (0, utils_1.dedupArray)(unsignedTx.instructions.map(function (instruction) { return instruction.programAddress; }));
21
+ return [4, provider.getRecentPrioritizationFees(instructionAddresses).send()];
22
+ case 2:
23
+ recentPriorityFees = _a.sent();
24
+ nonzeroPrioritizationFees = recentPriorityFees
25
+ .slice(125)
26
+ .map(function (value) { return value.prioritizationFee; })
27
+ .filter(function (fee) { return fee > 0; });
28
+ totalPrioritizationFees = nonzeroPrioritizationFees.reduce(function (acc, fee) { return acc + fee; }, BigInt(0));
29
+ flooredPriorityFeePerGas = (0, utils_1.parseUnits)(process.env["MIN_PRIORITY_FEE_PER_GAS_".concat(opts.chainId)] || "0", 6);
30
+ microLamportsPerComputeUnit = (0, utils_1.toBN)(totalPrioritizationFees / BigInt(nonzeroPrioritizationFees.length));
31
+ if (microLamportsPerComputeUnit.lt(flooredPriorityFeePerGas)) {
32
+ microLamportsPerComputeUnit = flooredPriorityFeePerGas;
33
+ }
34
+ return [2, {
35
+ baseFee: (0, utils_1.toBN)(baseFeeResponse.value),
36
+ microLamportsPerComputeUnit: microLamportsPerComputeUnit,
37
+ }];
38
+ }
39
+ });
40
+ });
41
+ }
42
+ exports.messageFee = messageFee;
43
+ //# sourceMappingURL=solana.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/solana.ts"],"names":[],"mappings":";;;;AACA,qCAA2D;AAG3D,mCAA8G;AAM9G,SAAsB,UAAU,CAAC,QAAqB,EAAE,IAA6B;;;;;;oBAC/D,WAAW,GAAK,IAAI,WAAT,CAAU;oBAGnC,UAAU,GAAG,WAA2C,CAAC;oBACzD,mBAAmB,GAAG,IAAA,wBAAkB,EAAC,UAAU,CAAC,CAAC;oBAGrD,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,QAAQ,CACtF,QAAQ,CACwB,CAAC;oBACX,WAAM,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,IAAI,EAAE,EAAA;;oBAAnF,eAAe,GAAG,SAAiE;oBAGnF,oBAAoB,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,UAAC,WAAW,IAAK,OAAA,WAAW,CAAC,cAAc,EAA1B,CAA0B,CAAC,CAAC,CAAC;oBACvF,WAAM,QAAQ,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,EAAA;;oBAA5F,kBAAkB,GAAG,SAAuE;oBAG5F,yBAAyB,GAAG,kBAAkB;yBACjD,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,iBAAiB,EAAvB,CAAuB,CAAC;yBACvC,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,GAAG,CAAC,EAAP,CAAO,CAAC,CAAC;oBACtB,uBAAuB,GAAG,yBAAyB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,OAAA,GAAG,GAAG,GAAG,EAAT,CAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAG/F,wBAAwB,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,mCAA4B,IAAI,CAAC,OAAO,CAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC3G,2BAA2B,GAAG,IAAA,YAAI,EAAC,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC3G,IAAI,2BAA2B,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE;wBAC5D,2BAA2B,GAAG,wBAAwB,CAAC;qBACxD;oBACD,WAAO;4BACL,OAAO,EAAE,IAAA,YAAI,EAAC,eAAgB,CAAC,KAAM,CAAC;4BACtC,2BAA2B,6BAAA;yBAC5B,EAAC;;;;CACH;AAlCD,gCAkCC"}
@@ -1,2 +1,2 @@
1
1
  export { getGasPriceEstimate } from "./oracle";
2
- export { GasPriceEstimate } from "./types";
2
+ export { GasPriceEstimate, EvmGasPriceEstimate, SvmGasPriceEstimate } from "./types";
@@ -1,14 +1,15 @@
1
1
  import { Transport } from "viem";
2
- import { PopulatedTransaction, providers } from "ethers";
2
+ import { providers } from "ethers";
3
3
  import { BigNumber } from "../utils";
4
+ import { SVMProvider as SolanaProvider } from "../arch/svm";
4
5
  import { GasPriceEstimate } from "./types";
5
6
  export interface GasPriceEstimateOptions {
6
7
  baseFeeMultiplier: BigNumber;
7
8
  priorityFeeMultiplier: BigNumber;
8
9
  legacyFallback: boolean;
9
10
  chainId: number;
10
- unsignedTx?: PopulatedTransaction;
11
+ unsignedTx?: unknown;
11
12
  transport?: Transport;
12
13
  }
13
- export declare function getGasPriceEstimate(provider: providers.Provider, opts?: Partial<GasPriceEstimateOptions>): Promise<GasPriceEstimate>;
14
+ export declare function getGasPriceEstimate(provider: providers.Provider | SolanaProvider, opts?: Partial<GasPriceEstimateOptions>): Promise<GasPriceEstimate>;
14
15
  export declare function _getViemGasPriceEstimate(providerOrChainId: providers.Provider | number, opts: GasPriceEstimateOptions): Promise<GasPriceEstimate>;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._getViemGasPriceEstimate = exports.getGasPriceEstimate = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var assert_1 = tslib_1.__importDefault(require("assert"));
6
+ var ethers_1 = require("ethers");
6
7
  var constants_1 = require("../constants");
7
8
  var utils_1 = require("../utils");
8
9
  var util_1 = require("./util");
@@ -10,31 +11,37 @@ var arbitrum = tslib_1.__importStar(require("./adapters/arbitrum"));
10
11
  var ethereum = tslib_1.__importStar(require("./adapters/ethereum"));
11
12
  var polygon = tslib_1.__importStar(require("./adapters/polygon"));
12
13
  var lineaViem = tslib_1.__importStar(require("./adapters/linea-viem"));
14
+ var solana = tslib_1.__importStar(require("./adapters/solana"));
13
15
  var GAS_PRICE_ESTIMATE_DEFAULTS = {
14
16
  legacyFallback: true,
15
17
  };
16
18
  var VIEM_CHAINS = [constants_1.CHAIN_IDs.LINEA];
17
19
  function getGasPriceEstimate(provider, opts) {
18
- var _a, _b, _c;
20
+ var _a, _b, _c, _d;
19
21
  if (opts === void 0) { opts = {}; }
20
22
  return tslib_1.__awaiter(this, void 0, void 0, function () {
21
- var baseFeeMultiplier, priorityFeeMultiplier, chainId, _d, optsWithDefaults, useViem;
22
- return tslib_1.__generator(this, function (_e) {
23
- switch (_e.label) {
23
+ var baseFeeMultiplier, priorityFeeMultiplier, optsWithDefaults_1, chainId, _e, optsWithDefaults, useViem;
24
+ return tslib_1.__generator(this, function (_f) {
25
+ switch (_f.label) {
24
26
  case 0:
25
27
  baseFeeMultiplier = (_a = opts.baseFeeMultiplier) !== null && _a !== void 0 ? _a : (0, utils_1.toBNWei)("1");
26
28
  (0, assert_1.default)(baseFeeMultiplier.gte((0, utils_1.toBNWei)("1.0")) && baseFeeMultiplier.lte((0, utils_1.toBNWei)("5")), "Require 1.0 < base fee multiplier (".concat(baseFeeMultiplier, ") <= 5.0 for a total gas multiplier within [+1.0, +5.0]"));
27
29
  priorityFeeMultiplier = (_b = opts.priorityFeeMultiplier) !== null && _b !== void 0 ? _b : (0, utils_1.toBNWei)("1");
28
30
  (0, assert_1.default)(priorityFeeMultiplier.gte((0, utils_1.toBNWei)("1.0")) && priorityFeeMultiplier.lte((0, utils_1.toBNWei)("5")), "Require 1.0 < priority fee multiplier (".concat(priorityFeeMultiplier, ") <= 5.0 for a total gas multiplier within [+1.0, +5.0]"));
29
- if (!((_c = opts.chainId) !== null && _c !== void 0)) return [3, 1];
30
- _d = _c;
31
+ if (!(provider instanceof ethers_1.providers.Provider)) {
32
+ optsWithDefaults_1 = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, GAS_PRICE_ESTIMATE_DEFAULTS), { baseFeeMultiplier: baseFeeMultiplier, priorityFeeMultiplier: priorityFeeMultiplier }), opts), { chainId: (_c = opts.chainId) !== null && _c !== void 0 ? _c : constants_1.CHAIN_IDs.SOLANA });
33
+ return [2, solana.messageFee(provider, optsWithDefaults_1)];
34
+ }
35
+ provider = provider;
36
+ if (!((_d = opts.chainId) !== null && _d !== void 0)) return [3, 1];
37
+ _e = _d;
31
38
  return [3, 3];
32
39
  case 1: return [4, provider.getNetwork()];
33
40
  case 2:
34
- _d = (_e.sent()).chainId;
35
- _e.label = 3;
41
+ _e = (_f.sent()).chainId;
42
+ _f.label = 3;
36
43
  case 3:
37
- chainId = _d;
44
+ chainId = _e;
38
45
  optsWithDefaults = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, GAS_PRICE_ESTIMATE_DEFAULTS), { baseFeeMultiplier: baseFeeMultiplier, priorityFeeMultiplier: priorityFeeMultiplier }), opts), { chainId: chainId });
39
46
  useViem = VIEM_CHAINS.includes(chainId);
40
47
  return [2, useViem
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/gasPriceOracle/oracle.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAG5B,0CAAyC;AACzC,kCAAoF;AAEpF,+BAAyC;AACzC,oEAAgD;AAChD,oEAAgD;AAChD,kEAA8C;AAC9C,uEAAmD;AAiBnD,IAAM,2BAA2B,GAAG;IAClC,cAAc,EAAE,IAAI;CACrB,CAAC;AAGF,IAAM,WAAW,GAAG,CAAC,qBAAS,CAAC,KAAK,CAAC,CAAC;AAQtC,SAAsB,mBAAmB,CACvC,QAA4B,EAC5B,IAA2C;;IAA3C,qBAAA,EAAA,SAA2C;;;;;;oBAErC,iBAAiB,GAAG,MAAA,IAAI,CAAC,iBAAiB,mCAAI,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC;oBACjE,IAAA,gBAAM,EACJ,iBAAiB,CAAC,GAAG,CAAC,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC,EAC5E,6CAAsC,iBAAiB,4DAAyD,CACjH,CAAC;oBACI,qBAAqB,GAAG,MAAA,IAAI,CAAC,qBAAqB,mCAAI,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC;oBACzE,IAAA,gBAAM,EACJ,qBAAqB,CAAC,GAAG,CAAC,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC,EACpF,iDAA0C,qBAAqB,4DAAyD,CACzH,CAAC;gCAEc,IAAI,CAAC,OAAO;;;wBAAK,WAAM,QAAQ,CAAC,UAAU,EAAE,EAAA;;oBAA5B,KAAA,CAAC,SAA2B,CAAC,CAAC,OAAO,CAAA;;;oBAA/D,OAAO,KAAwD;oBAC/D,gBAAgB,2EACjB,2BAA2B,KAC9B,iBAAiB,mBAAA,EACjB,qBAAqB,uBAAA,KAClB,IAAI,KACP,OAAO,SAAA,GACR,CAAC;oBAGI,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC9C,WAAO,OAAO;4BACZ,CAAC,CAAC,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,CAAC;4BACrD,CAAC,CAAC,0BAA0B,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAC;;;;CAC5D;AA7BD,kDA6BC;AASD,SAAS,0BAA0B,CACjC,QAA4B,EAC5B,IAA6B;;IAErB,IAAA,OAAO,GAAqB,IAAI,QAAzB,EAAE,cAAc,GAAK,IAAI,eAAT,CAAU;IAGzC,IAAA,gBAAM,EAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAY,OAAO,wCAAqC,CAAC,CAAC;IACjG,IAAM,aAAa,GAAG,CAAA;QACpB,GAAC,qBAAS,CAAC,UAAU,IAAG,QAAQ,CAAC,OAAO;QACxC,GAAC,qBAAS,CAAC,QAAQ,IAAG,QAAQ,CAAC,OAAO;QACtC,GAAC,qBAAS,CAAC,GAAG,IAAG,QAAQ,CAAC,MAAM;QAChC,GAAC,qBAAS,CAAC,OAAO,IAAG,QAAQ,CAAC,OAAO;QACrC,GAAC,qBAAS,CAAC,OAAO,IAAG,OAAO,CAAC,UAAU;QACvC,GAAC,qBAAS,CAAC,MAAM,IAAG,QAAQ,CAAC,MAAM;QACnC,GAAC,qBAAS,CAAC,OAAO,IAAG,QAAQ,CAAC,MAAM;QAGpC,GAAC,qBAAS,CAAC,gBAAgB,IAAG,QAAQ,CAAC,OAAO;QAC9C,GAAC,qBAAS,CAAC,YAAY,IAAG,OAAO,CAAC,UAAU;QAC5C,GAAC,qBAAS,CAAC,OAAO,IAAG,QAAQ,CAAC,OAAO;QACrC,GAAC,qBAAS,CAAC,MAAM,IAAG,QAAQ,CAAC,OAAO;UAC5B,CAAA,CAAC;IAEX,IAAI,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAA,gBAAM,EAAC,YAAY,IAAI,cAAc,EAAE,oDAA6C,OAAO,CAAE,CAAC,CAAC;IAC/F,YAAY,aAAZ,YAAY,cAAZ,YAAY,IAAZ,YAAY,GAAK,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAC;IAE9E,OAAO,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AASD,SAAsB,wBAAwB,CAC5C,iBAA8C,EAC9C,IAA6B;;;;;;;oBAErB,iBAAiB,GAAgB,IAAI,kBAApB,EAAE,SAAS,GAAK,IAAI,UAAT,CAAU;yBAG5C,CAAA,OAAO,iBAAiB,KAAK,QAAQ,CAAA,EAArC,cAAqC;oBAAG,KAAA,iBAAiB,CAAA;;wBAAI,WAAM,iBAAiB,CAAC,UAAU,EAAE,EAAA;;oBAArC,KAAA,CAAC,SAAoC,CAAC,CAAC,OAAO,CAAA;;;oBADtG,OAAO,KAC+F;oBACtG,YAAY,GAAG,IAAA,sBAAe,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBAEnD,aAAa;wBACjB,GAAC,qBAAS,CAAC,KAAK,IAAG,SAAS,CAAC,OAAO;2BACrC,CAAC;yBAIE,aAAa,CAAC,OAAO,CAAC,EAAtB,cAAsB;oBACkB,WAAM,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,EAAA;;oBAA1F,CAAC,KAAyC,SAAgD,EAAvF,YAAY,kBAAA,EAAE,oBAAoB,0BAAA,CAAsD,CAAC;;;oBAExF,QAAQ,SAAoB,CAAC;oBACmB,WAAM,YAAY,CAAC,kBAAkB,EAAE,EAAA;;oBAA3F,CAAC,KAAmD,SAAuC,EAAxF,YAAY,kBAAA,EAAE,oBAAoB,0BAAA,EAAE,QAAQ,cAAA,CAA6C,CAAC;oBAE7F,YAAY,aAAZ,YAAY,cAAZ,YAAY,IAAZ,YAAY,GAAK,CAAC,QAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,4BAAoB,CAAC,QAAQ,EAAE,CAAC,EAAC;oBAC9G,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,IAApB,oBAAoB,GAAK,MAAM,CAAC,CAAC,CAAC,EAAC;;wBAGrC,WAAO;wBACL,YAAY,EAAE,iBAAS,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;wBACrD,oBAAoB,EAAE,iBAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;qBACtE,EAAC;;;;CACH;AA9BD,4DA8BC"}
1
+ {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/gasPriceOracle/oracle.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,15 @@
1
1
  import { type Chain, type Transport, PublicClient, FeeValuesEIP1559 } from "viem";
2
2
  import { BigNumber } from "../utils";
3
3
  export type InternalGasPriceEstimate = FeeValuesEIP1559;
4
- export type GasPriceEstimate = {
4
+ export type GasPriceEstimate = EvmGasPriceEstimate | SvmGasPriceEstimate;
5
+ export type EvmGasPriceEstimate = {
5
6
  maxFeePerGas: BigNumber;
6
7
  maxPriorityFeePerGas: BigNumber;
7
8
  };
9
+ export type SvmGasPriceEstimate = {
10
+ baseFee: BigNumber;
11
+ microLamportsPerComputeUnit: BigNumber;
12
+ };
8
13
  export interface GasPriceFeed {
9
14
  (provider: PublicClient<Transport, Chain>, chainId: number): Promise<InternalGasPriceEstimate>;
10
15
  }
@@ -16,4 +16,3 @@ export * as clients from "./clients";
16
16
  export * as typechain from "./typechain";
17
17
  export * as caching from "./caching";
18
18
  export * as providers from "./providers";
19
- export * as svm from "./svm";
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.svm = exports.providers = exports.caching = exports.typechain = exports.clients = exports.typeguards = exports.interfaces = exports.constants = exports.merkleDistributor = exports.priceClient = exports.gasPriceOracle = exports.coingecko = exports.contracts = exports.utils = exports.relayFeeCalculator = exports.pool = exports.lpFeeCalculator = exports.addressAggregator = exports.arch = void 0;
3
+ exports.providers = exports.caching = exports.typechain = exports.clients = exports.typeguards = exports.interfaces = exports.constants = exports.merkleDistributor = exports.priceClient = exports.gasPriceOracle = exports.coingecko = exports.contracts = exports.utils = exports.relayFeeCalculator = exports.pool = exports.lpFeeCalculator = exports.addressAggregator = exports.arch = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  exports.arch = tslib_1.__importStar(require("./arch"));
6
6
  exports.addressAggregator = tslib_1.__importStar(require("./addressAggregator"));
@@ -20,5 +20,4 @@ exports.clients = tslib_1.__importStar(require("./clients"));
20
20
  exports.typechain = tslib_1.__importStar(require("./typechain"));
21
21
  exports.caching = tslib_1.__importStar(require("./caching"));
22
22
  exports.providers = tslib_1.__importStar(require("./providers"));
23
- exports.svm = tslib_1.__importStar(require("./svm"));
24
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,uDAA+B;AAC/B,iFAAyD;AACzD,6EAAqD;AACrD,uDAA+B;AAC/B,mFAA2D;AAC3D,yDAAiC;AACjC,iEAAyC;AACzC,iEAAyC;AACzC,2EAAmD;AACnD,qEAA6C;AAC7C,iFAAyD;AACzD,iEAAyC;AACzC,mEAA2C;AAC3C,mEAA2C;AAC3C,6DAAqC;AACrC,iEAAyC;AACzC,6DAAqC;AACrC,iEAAyC;AACzC,qDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,uDAA+B;AAC/B,iFAAyD;AACzD,6EAAqD;AACrD,uDAA+B;AAC/B,mFAA2D;AAC3D,yDAAiC;AACjC,iEAAyC;AACzC,iEAAyC;AACzC,2EAAmD;AACnD,qEAA6C;AAC7C,iFAAyD;AACzD,iEAAyC;AACzC,mEAA2C;AAC3C,mEAA2C;AAC3C,6DAAqC;AACrC,iEAAyC;AACzC,6DAAqC;AACrC,iEAAyC"}
@@ -32,6 +32,9 @@ export interface Deposit extends RelayData {
32
32
  export interface DepositWithBlock extends Deposit, SortableEvent {
33
33
  quoteBlockNumber: number;
34
34
  }
35
+ export interface DepositWithTime extends Deposit, SortableEvent {
36
+ depositTimestamp: number;
37
+ }
35
38
  export declare enum FillStatus {
36
39
  Unfilled = 0,
37
40
  RequestedSlowFill = 1,
@@ -58,6 +61,16 @@ export interface Fill extends Omit<RelayData, "message"> {
58
61
  }
59
62
  export interface FillWithBlock extends Fill, SortableEvent {
60
63
  }
64
+ export interface FillWithTime extends Fill, SortableEvent {
65
+ fillTimestamp: number;
66
+ }
67
+ export interface EnabledDepositRoute {
68
+ originToken: string;
69
+ destinationChainId: number;
70
+ enabled: boolean;
71
+ }
72
+ export interface EnabledDepositRouteWithBlock extends EnabledDepositRoute, SortableEvent {
73
+ }
61
74
  export interface SpeedUp {
62
75
  depositor: string;
63
76
  depositorSignature: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SpokePool.js","sourceRoot":"","sources":["../../../src/interfaces/SpokePool.ts"],"names":[],"mappings":";;;AAuCA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,mDAAY,CAAA;IACZ,qEAAiB,CAAA;IACjB,+CAAM,CAAA;AACR,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+CAAY,CAAA;IACZ,+DAAgB,CAAA;IAChB,+CAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB"}
1
+ {"version":3,"file":"SpokePool.js","sourceRoot":"","sources":["../../../src/interfaces/SpokePool.ts"],"names":[],"mappings":";;;AA2CA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,mDAAY,CAAA;IACZ,qEAAiB,CAAA;IACjB,+CAAM,CAAA;AACR,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+CAAY,CAAA;IACZ,+DAAgB,CAAA;IAChB,+CAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB"}
@@ -7,7 +7,7 @@ import { Logger, QueryInterface } from "../relayFeeCalculator";
7
7
  import { Transport } from "viem";
8
8
  type Provider = providers.Provider;
9
9
  type OptimismProvider = L2Provider<Provider>;
10
- type SymbolMappingType = Record<string, {
10
+ export type SymbolMappingType = Record<string, {
11
11
  addresses: Record<number, string>;
12
12
  decimals: number;
13
13
  }>;
@@ -10,7 +10,7 @@ var typechain_1 = require("../../typechain");
10
10
  var evm_1 = require("../../arch/evm");
11
11
  var utils_1 = require("../../utils");
12
12
  var assert_1 = tslib_1.__importDefault(require("assert"));
13
- var oracle_1 = require("../../gasPriceOracle/oracle");
13
+ var gasPriceOracle_1 = require("../../gasPriceOracle");
14
14
  var QueryBase = (function () {
15
15
  function QueryBase(provider, symbolMapping, spokePoolAddress, simulatedRelayerAddress, logger, coingeckoProApiKey, fixedGasPrice, coingeckoBaseCurrency) {
16
16
  if (coingeckoBaseCurrency === void 0) { coingeckoBaseCurrency = "eth"; }
@@ -102,7 +102,7 @@ var QueryBase = (function () {
102
102
  QueryBase.prototype.estimateGas = function (unsignedTx, senderAddress, provider, options) {
103
103
  if (options === void 0) { options = {}; }
104
104
  return tslib_1.__awaiter(this, void 0, void 0, function () {
105
- var _a, _gasPrice, gasUnits, _b, baseFeeMultiplier, _c, priorityFeeMultiplier, _d, opStackL1GasCostMultiplier, transport, chainId, voidSigner, queries, _e, nativeGasCost, gasPrice, tokenGasCost, opStackL1GasCost, l2GasCost;
105
+ var _a, _gasPrice, gasUnits, _b, baseFeeMultiplier, _c, priorityFeeMultiplier, _d, opStackL1GasCostMultiplier, transport, chainId, voidSigner, queries, _e, nativeGasCost, _gasPriceEstimate, gasPrice, tokenGasCost, opStackL1GasCost, l2GasCost;
106
106
  return tslib_1.__generator(this, function (_f) {
107
107
  switch (_f.label) {
108
108
  case 0:
@@ -115,11 +115,12 @@ var QueryBase = (function () {
115
115
  gasUnits ? Promise.resolve(utils_1.BigNumber.from(gasUnits)) : voidSigner.estimateGas(unsignedTx),
116
116
  _gasPrice
117
117
  ? Promise.resolve({ maxFeePerGas: _gasPrice })
118
- : (0, oracle_1.getGasPriceEstimate)(provider, { chainId: chainId, baseFeeMultiplier: baseFeeMultiplier, priorityFeeMultiplier: priorityFeeMultiplier, transport: transport, unsignedTx: unsignedTx }),
118
+ : (0, gasPriceOracle_1.getGasPriceEstimate)(provider, { chainId: chainId, baseFeeMultiplier: baseFeeMultiplier, priorityFeeMultiplier: priorityFeeMultiplier, transport: transport, unsignedTx: unsignedTx }),
119
119
  ];
120
120
  return [4, Promise.all(queries)];
121
121
  case 2:
122
- _e = _f.sent(), nativeGasCost = _e[0], gasPrice = _e[1].maxFeePerGas;
122
+ _e = _f.sent(), nativeGasCost = _e[0], _gasPriceEstimate = _e[1];
123
+ gasPrice = _gasPriceEstimate.maxFeePerGas;
123
124
  (0, assert_1.default)(nativeGasCost.gt(utils_1.bnZero), "Gas cost should not be 0");
124
125
  if (!(0, utils_1.chainIsOPStack)(chainId)) return [3, 4];
125
126
  return [4, this.getOpStackL1DataFee(unsignedTx, senderAddress, {
@@ -1 +1 @@
1
- {"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -386,5 +388,5 @@ export declare class QueryBase__factory {
386
388
  };
387
389
  coingeckoId: string;
388
390
  };
389
- }, spokePoolAddress?: string | undefined, simulatedRelayerAddress?: string, coingeckoProApiKey?: string, logger?: Logger, coingeckoBaseCurrency?: string): QueryBase;
391
+ }, spokePoolAddress?: string | undefined, simulatedRelayerAddress?: string, coingeckoProApiKey?: string, logger?: Logger, coingeckoBaseCurrency?: string): QueryBase | SvmQuery;
390
392
  }
@@ -12,6 +12,7 @@ var utils_1 = require("../../utils");
12
12
  var baseQuery_1 = require("./baseQuery");
13
13
  var relayFeeCalculator_1 = require("../relayFeeCalculator");
14
14
  var customGasToken_1 = require("./customGasToken");
15
+ var svmQuery_1 = require("./svmQuery");
15
16
  var fixedGasPrice = (_a = {},
16
17
  _a[constants_1.CHAIN_IDs.BOBA] = 1e9,
17
18
  _a);
@@ -41,7 +42,12 @@ var QueryBase__factory = (function () {
41
42
  customGasTokenSymbol: customGasTokenSymbol,
42
43
  });
43
44
  }
44
- provider = (0, utils_1.chainIsOPStack)(chainId) ? (0, sdk_1.asL2Provider)(provider) : provider;
45
+ if ((0, utils_1.chainIsSvm)(chainId)) {
46
+ return new svmQuery_1.SvmQuery(provider, symbolMapping, utils_1.SvmAddress.from(spokePoolAddress), utils_1.SvmAddress.from(simulatedRelayerAddress), logger, coingeckoProApiKey, fixedGasPrice[chainId], coingeckoBaseCurrency);
47
+ }
48
+ provider = (0, utils_1.chainIsOPStack)(chainId)
49
+ ? (0, sdk_1.asL2Provider)(provider)
50
+ : provider;
45
51
  return new baseQuery_1.QueryBase(provider, symbolMapping, spokePoolAddress, simulatedRelayerAddress, logger, coingeckoProApiKey, fixedGasPrice[chainId], coingeckoBaseCurrency);
46
52
  };
47
53
  return QueryBase__factory;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/factory.ts"],"names":[],"mappings":";;;;;AAAA,0DAA4B;AAC5B,wDAA0E;AAC1E,wDAAgE;AAChE,yCAAiD;AAEjD,6CAAuF;AACvF,qCAAwD;AACxD,yCAAwC;AACxC,4DAA+D;AAC/D,mDAAyD;AAMzD,IAAM,aAAa;IACjB,GAAC,qBAAS,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,gBAAgB,6BAAiB;QACjC,iCAAA,EAAA,uBAAmB,8BAAkB,EAAC,WAAW,EAAE,OAAO,CAAC;QAC3D,wCAAA,EAAA,0BAA0B,6CAAiC;QAE3D,uBAAA,EAAA,SAAiB,mCAAc;QAC/B,sCAAA,EAAA,6BAA6B;QAE7B,IAAA,gBAAM,EAAC,IAAA,iBAAS,EAAC,gBAAgB,CAAC,CAAC,CAAC;QAEpC,IAAM,oBAAoB,GAAG,6BAAiB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,oBAAoB,EAAE;YACxB,OAAO,IAAI,sCAAqB,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;QAGD,QAAQ,GAAG,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEvE,OAAO,IAAI,qBAAS,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;AA5CY,gDAAkB"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/factory.ts"],"names":[],"mappings":";;;;;AAAA,0DAA4B;AAC5B,wDAA0E;AAC1E,wDAAgE;AAChE,yCAAiD;AAEjD,6CAAuF;AACvF,qCAAgF;AAChF,yCAAwC;AAExC,4DAA+D;AAC/D,mDAAyD;AACzD,uCAAsC;AAMtC,IAAM,aAAa;IACjB,GAAC,qBAAS,CAAC,IAAI,IAAG,GAAG;OACtB,CAAC;AAEF;IAAA;IA0DA,CAAC;IAzDQ,yBAAM,GAAb,UACE,OAAe,EACf,QAA0C,EAC1C,aAAiC,EACjC,gBAA2D,EAC3D,uBAA2D,EAC3D,kBAA2B,EAC3B,MAA+B,EAC/B,qBAA6B;QAL7B,8BAAA,EAAA,gBAAgB,6BAAiB;QACjC,iCAAA,EAAA,uBAAmB,8BAAkB,EAAC,WAAW,EAAE,OAAO,CAAC;QAC3D,wCAAA,EAAA,0BAA0B,6CAAiC;QAE3D,uBAAA,EAAA,SAAiB,mCAAc;QAC/B,sCAAA,EAAA,6BAA6B;QAE7B,IAAA,gBAAM,EAAC,IAAA,iBAAS,EAAC,gBAAgB,CAAC,CAAC,CAAC;QAEpC,IAAM,oBAAoB,GAAG,6BAAiB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,oBAAoB,EAAE;YACxB,OAAO,IAAI,sCAAqB,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,IAAA,kBAAU,EAAC,OAAO,CAAC,EAAE;YACvB,OAAO,IAAI,mBAAQ,CACjB,QAAuB,EACvB,aAAa,EACb,kBAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACjC,kBAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,EACxC,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;SACH;QAGD,QAAQ,GAAG,IAAA,sBAAc,EAAC,OAAO,CAAC;YAChC,CAAC,CAAC,IAAA,kBAAY,EAAC,QAA8B,CAAC;YAC9C,CAAC,CAAE,QAA+B,CAAC;QAErC,OAAO,IAAI,qBAAS,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;AA1DY,gDAAkB"}
@@ -1,3 +1,4 @@
1
1
  export * from "./baseQuery";
2
2
  export * from "./factory";
3
3
  export * from "./customGasToken";
4
+ export * from "./svmQuery";
@@ -4,4 +4,5 @@ var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./baseQuery"), exports);
5
5
  tslib_1.__exportStar(require("./factory"), exports);
6
6
  tslib_1.__exportStar(require("./customGasToken"), exports);
7
+ tslib_1.__exportStar(require("./svmQuery"), exports);
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,oDAA0B;AAC1B,2DAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,oDAA0B;AAC1B,2DAAiC;AACjC,qDAA2B"}
@@ -0,0 +1,31 @@
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
+ export declare class SvmQuery implements QueryInterface {
7
+ readonly provider: SVMProvider;
8
+ readonly symbolMapping: SymbolMappingType;
9
+ readonly spokePoolAddress: SvmAddress;
10
+ readonly simulatedRelayerAddress: SvmAddress;
11
+ readonly logger: Logger;
12
+ readonly coingeckoProApiKey?: string | undefined;
13
+ readonly fixedGasPrice?: BigNumberish | undefined;
14
+ readonly coingeckoBaseCurrency: string;
15
+ protected computeUnitEstimator: (transactionMessage: import("@solana/kit").CompilableTransactionMessage | (import("@solana/kit").ITransactionMessageWithFeePayer<string> & import("@solana/kit").TransactionMessage), config?: Omit<Readonly<{
16
+ abortSignal?: AbortSignal | undefined;
17
+ commitment?: import("@solana/kit").Commitment | undefined;
18
+ minContextSlot?: bigint | undefined;
19
+ rpc: import("@solana/kit").Rpc<import("@solana/kit").SimulateTransactionApi>;
20
+ transactionMessage: import("@solana/kit").CompilableTransactionMessage | (import("@solana/kit").ITransactionMessageWithFeePayer<string> & import("@solana/kit").TransactionMessage);
21
+ }>, "rpc" | "transactionMessage"> | undefined) => Promise<number>;
22
+ constructor(provider: SVMProvider, symbolMapping: SymbolMappingType, spokePoolAddress: SvmAddress, simulatedRelayerAddress: SvmAddress, logger: Logger, coingeckoProApiKey?: string | undefined, fixedGasPrice?: BigNumberish | undefined, coingeckoBaseCurrency?: string);
23
+ getGasCosts(deposit: Omit<Deposit, "messageHash">, _relayer?: string, options?: Partial<{
24
+ gasPrice: BigNumberish;
25
+ gasUnits: BigNumberish;
26
+ baseFeeMultiplier: BigNumber;
27
+ priorityFeeMultiplier: BigNumber;
28
+ }>): Promise<TransactionCostEstimate>;
29
+ getTokenPrice(tokenSymbol: string): Promise<number>;
30
+ getTokenDecimals(tokenSymbol: string): number;
31
+ }