@across-protocol/sdk 3.0.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 (930) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +116 -0
  3. package/dist/cjs/apiClient/abstractClient.d.ts +13 -0
  4. package/dist/cjs/apiClient/abstractClient.js +17 -0
  5. package/dist/cjs/apiClient/abstractClient.js.map +1 -0
  6. package/dist/cjs/apiClient/index.d.ts +2 -0
  7. package/dist/cjs/apiClient/index.js +11 -0
  8. package/dist/cjs/apiClient/index.js.map +1 -0
  9. package/dist/cjs/apiClient/mockedClient.d.ts +11 -0
  10. package/dist/cjs/apiClient/mockedClient.js +60 -0
  11. package/dist/cjs/apiClient/mockedClient.js.map +1 -0
  12. package/dist/cjs/apiClient/productionClient.d.ts +10 -0
  13. package/dist/cjs/apiClient/productionClient.js +110 -0
  14. package/dist/cjs/apiClient/productionClient.js.map +1 -0
  15. package/dist/cjs/apiClient/types.d.ts +44 -0
  16. package/dist/cjs/apiClient/types.js +3 -0
  17. package/dist/cjs/apiClient/types.js.map +1 -0
  18. package/dist/cjs/caching/Arweave/ArweaveClient.d.ts +20 -0
  19. package/dist/cjs/caching/Arweave/ArweaveClient.js +218 -0
  20. package/dist/cjs/caching/Arweave/ArweaveClient.js.map +1 -0
  21. package/dist/cjs/caching/Arweave/index.d.ts +1 -0
  22. package/dist/cjs/caching/Arweave/index.js +5 -0
  23. package/dist/cjs/caching/Arweave/index.js.map +1 -0
  24. package/dist/cjs/caching/IPFS/PinataIPFSClient.d.ts +11 -0
  25. package/dist/cjs/caching/IPFS/PinataIPFSClient.js +67 -0
  26. package/dist/cjs/caching/IPFS/PinataIPFSClient.js.map +1 -0
  27. package/dist/cjs/caching/IPFS/index.d.ts +1 -0
  28. package/dist/cjs/caching/IPFS/index.js +5 -0
  29. package/dist/cjs/caching/IPFS/index.js.map +1 -0
  30. package/dist/cjs/caching/index.d.ts +2 -0
  31. package/dist/cjs/caching/index.js +6 -0
  32. package/dist/cjs/caching/index.js.map +1 -0
  33. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +66 -0
  34. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +377 -0
  35. package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -0
  36. package/dist/cjs/clients/AcrossConfigStoreClient/index.d.ts +1 -0
  37. package/dist/cjs/clients/AcrossConfigStoreClient/index.js +5 -0
  38. package/dist/cjs/clients/AcrossConfigStoreClient/index.js.map +1 -0
  39. package/dist/cjs/clients/BaseAbstractClient.d.ts +22 -0
  40. package/dist/cjs/clients/BaseAbstractClient.js +76 -0
  41. package/dist/cjs/clients/BaseAbstractClient.js.map +1 -0
  42. package/dist/cjs/clients/HubPoolClient.d.ts +111 -0
  43. package/dist/cjs/clients/HubPoolClient.js +758 -0
  44. package/dist/cjs/clients/HubPoolClient.js.map +1 -0
  45. package/dist/cjs/clients/SpokePoolClient.d.ts +117 -0
  46. package/dist/cjs/clients/SpokePoolClient.js +553 -0
  47. package/dist/cjs/clients/SpokePoolClient.js.map +1 -0
  48. package/dist/cjs/clients/index.d.ts +4 -0
  49. package/dist/cjs/clients/index.js +14 -0
  50. package/dist/cjs/clients/index.js.map +1 -0
  51. package/dist/cjs/clients/mocks/MockConfigStoreClient.d.ts +20 -0
  52. package/dist/cjs/clients/mocks/MockConfigStoreClient.js +121 -0
  53. package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -0
  54. package/dist/cjs/clients/mocks/MockEvents.d.ts +27 -0
  55. package/dist/cjs/clients/mocks/MockEvents.js +117 -0
  56. package/dist/cjs/clients/mocks/MockEvents.js.map +1 -0
  57. package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +35 -0
  58. package/dist/cjs/clients/mocks/MockHubPoolClient.js +222 -0
  59. package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -0
  60. package/dist/cjs/clients/mocks/MockSpokePoolClient.d.ts +38 -0
  61. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +319 -0
  62. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -0
  63. package/dist/cjs/clients/mocks/index.d.ts +3 -0
  64. package/dist/cjs/clients/mocks/index.js +7 -0
  65. package/dist/cjs/clients/mocks/index.js.map +1 -0
  66. package/dist/cjs/coingecko/Coingecko.d.ts +40 -0
  67. package/dist/cjs/coingecko/Coingecko.js +277 -0
  68. package/dist/cjs/coingecko/Coingecko.js.map +1 -0
  69. package/dist/cjs/coingecko/index.d.ts +1 -0
  70. package/dist/cjs/coingecko/index.js +5 -0
  71. package/dist/cjs/coingecko/index.js.map +1 -0
  72. package/dist/cjs/constants.d.ts +18 -0
  73. package/dist/cjs/constants.js +27 -0
  74. package/dist/cjs/constants.js.map +1 -0
  75. package/dist/cjs/contracts/acrossConfigStore.d.ts +57 -0
  76. package/dist/cjs/contracts/acrossConfigStore.js +65 -0
  77. package/dist/cjs/contracts/acrossConfigStore.js.map +1 -0
  78. package/dist/cjs/contracts/hubPool.d.ts +17 -0
  79. package/dist/cjs/contracts/hubPool.js +61 -0
  80. package/dist/cjs/contracts/hubPool.js.map +1 -0
  81. package/dist/cjs/contracts/index.d.ts +2 -0
  82. package/dist/cjs/contracts/index.js +7 -0
  83. package/dist/cjs/contracts/index.js.map +1 -0
  84. package/dist/cjs/contracts/utils.d.ts +15 -0
  85. package/dist/cjs/contracts/utils.js +40 -0
  86. package/dist/cjs/contracts/utils.js.map +1 -0
  87. package/dist/cjs/gasPriceOracle/adapters/arbitrum.d.ts +3 -0
  88. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js +25 -0
  89. package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -0
  90. package/dist/cjs/gasPriceOracle/adapters/ethereum.d.ts +4 -0
  91. package/dist/cjs/gasPriceOracle/adapters/ethereum.js +46 -0
  92. package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -0
  93. package/dist/cjs/gasPriceOracle/adapters/index.d.ts +3 -0
  94. package/dist/cjs/gasPriceOracle/adapters/index.js +7 -0
  95. package/dist/cjs/gasPriceOracle/adapters/index.js.map +1 -0
  96. package/dist/cjs/gasPriceOracle/adapters/polygon.d.ts +3 -0
  97. package/dist/cjs/gasPriceOracle/adapters/polygon.js +77 -0
  98. package/dist/cjs/gasPriceOracle/adapters/polygon.js.map +1 -0
  99. package/dist/cjs/gasPriceOracle/index.d.ts +2 -0
  100. package/dist/cjs/gasPriceOracle/index.js +6 -0
  101. package/dist/cjs/gasPriceOracle/index.js.map +1 -0
  102. package/dist/cjs/gasPriceOracle/oracle.d.ts +3 -0
  103. package/dist/cjs/gasPriceOracle/oracle.js +45 -0
  104. package/dist/cjs/gasPriceOracle/oracle.js.map +1 -0
  105. package/dist/cjs/gasPriceOracle/types.d.ts +8 -0
  106. package/dist/cjs/gasPriceOracle/types.js +3 -0
  107. package/dist/cjs/gasPriceOracle/types.js.map +1 -0
  108. package/dist/cjs/gasPriceOracle/util.d.ts +2 -0
  109. package/dist/cjs/gasPriceOracle/util.js +8 -0
  110. package/dist/cjs/gasPriceOracle/util.js.map +1 -0
  111. package/dist/cjs/index.d.ts +15 -0
  112. package/dist/cjs/index.js +20 -0
  113. package/dist/cjs/index.js.map +1 -0
  114. package/dist/cjs/interfaces/Bridge.d.ts +9 -0
  115. package/dist/cjs/interfaces/Bridge.js +3 -0
  116. package/dist/cjs/interfaces/Bridge.js.map +1 -0
  117. package/dist/cjs/interfaces/CachingMechanism.d.ts +5 -0
  118. package/dist/cjs/interfaces/CachingMechanism.js +3 -0
  119. package/dist/cjs/interfaces/CachingMechanism.js.map +1 -0
  120. package/dist/cjs/interfaces/Common.d.ts +10 -0
  121. package/dist/cjs/interfaces/Common.js +3 -0
  122. package/dist/cjs/interfaces/Common.js.map +1 -0
  123. package/dist/cjs/interfaces/ConfigStore.d.ts +81 -0
  124. package/dist/cjs/interfaces/ConfigStore.js +3 -0
  125. package/dist/cjs/interfaces/ConfigStore.js.map +1 -0
  126. package/dist/cjs/interfaces/Error.d.ts +5 -0
  127. package/dist/cjs/interfaces/Error.js +3 -0
  128. package/dist/cjs/interfaces/Error.js.map +1 -0
  129. package/dist/cjs/interfaces/HubPool.d.ts +98 -0
  130. package/dist/cjs/interfaces/HubPool.js +3 -0
  131. package/dist/cjs/interfaces/HubPool.js.map +1 -0
  132. package/dist/cjs/interfaces/SpokePool.d.ts +103 -0
  133. package/dist/cjs/interfaces/SpokePool.js +16 -0
  134. package/dist/cjs/interfaces/SpokePool.js.map +1 -0
  135. package/dist/cjs/interfaces/TypedData.d.ts +19 -0
  136. package/dist/cjs/interfaces/TypedData.js +3 -0
  137. package/dist/cjs/interfaces/TypedData.js.map +1 -0
  138. package/dist/cjs/interfaces/index.d.ts +8 -0
  139. package/dist/cjs/interfaces/index.js +12 -0
  140. package/dist/cjs/interfaces/index.js.map +1 -0
  141. package/dist/cjs/lpFeeCalculator/index.d.ts +1 -0
  142. package/dist/cjs/lpFeeCalculator/index.js +5 -0
  143. package/dist/cjs/lpFeeCalculator/index.js.map +1 -0
  144. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.d.ts +19 -0
  145. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js +79 -0
  146. package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js.map +1 -0
  147. package/dist/cjs/lpFeeCalculator/rateModel.d.ts +28 -0
  148. package/dist/cjs/lpFeeCalculator/rateModel.js +103 -0
  149. package/dist/cjs/lpFeeCalculator/rateModel.js.map +1 -0
  150. package/dist/cjs/merkleDistributor/MerkleDistributor.d.ts +8 -0
  151. package/dist/cjs/merkleDistributor/MerkleDistributor.js +25 -0
  152. package/dist/cjs/merkleDistributor/MerkleDistributor.js.map +1 -0
  153. package/dist/cjs/merkleDistributor/index.d.ts +2 -0
  154. package/dist/cjs/merkleDistributor/index.js +6 -0
  155. package/dist/cjs/merkleDistributor/index.js.map +1 -0
  156. package/dist/cjs/merkleDistributor/model/Distribution.d.ts +17 -0
  157. package/dist/cjs/merkleDistributor/model/Distribution.js +3 -0
  158. package/dist/cjs/merkleDistributor/model/Distribution.js.map +1 -0
  159. package/dist/cjs/merkleDistributor/model/index.d.ts +1 -0
  160. package/dist/cjs/merkleDistributor/model/index.js +5 -0
  161. package/dist/cjs/merkleDistributor/model/index.js.map +1 -0
  162. package/dist/cjs/package.json +1 -0
  163. package/dist/cjs/pool/TransactionManager.d.ts +12 -0
  164. package/dist/cjs/pool/TransactionManager.js +121 -0
  165. package/dist/cjs/pool/TransactionManager.js.map +1 -0
  166. package/dist/cjs/pool/index.d.ts +1 -0
  167. package/dist/cjs/pool/index.js +5 -0
  168. package/dist/cjs/pool/index.js.map +1 -0
  169. package/dist/cjs/pool/poolClient.d.ts +232 -0
  170. package/dist/cjs/pool/poolClient.js +869 -0
  171. package/dist/cjs/pool/poolClient.js.map +1 -0
  172. package/dist/cjs/priceClient/adapters/acrossApi.d.ts +13 -0
  173. package/dist/cjs/priceClient/adapters/acrossApi.js +48 -0
  174. package/dist/cjs/priceClient/adapters/acrossApi.js.map +1 -0
  175. package/dist/cjs/priceClient/adapters/baseAdapter.d.ts +17 -0
  176. package/dist/cjs/priceClient/adapters/baseAdapter.js +81 -0
  177. package/dist/cjs/priceClient/adapters/baseAdapter.js.map +1 -0
  178. package/dist/cjs/priceClient/adapters/coingecko.d.ts +14 -0
  179. package/dist/cjs/priceClient/adapters/coingecko.js +75 -0
  180. package/dist/cjs/priceClient/adapters/coingecko.js.map +1 -0
  181. package/dist/cjs/priceClient/adapters/defiLlama.d.ts +17 -0
  182. package/dist/cjs/priceClient/adapters/defiLlama.js +95 -0
  183. package/dist/cjs/priceClient/adapters/defiLlama.js.map +1 -0
  184. package/dist/cjs/priceClient/adapters/index.d.ts +3 -0
  185. package/dist/cjs/priceClient/adapters/index.js +8 -0
  186. package/dist/cjs/priceClient/adapters/index.js.map +1 -0
  187. package/dist/cjs/priceClient/index.d.ts +2 -0
  188. package/dist/cjs/priceClient/index.js +7 -0
  189. package/dist/cjs/priceClient/index.js.map +1 -0
  190. package/dist/cjs/priceClient/priceClient.d.ts +32 -0
  191. package/dist/cjs/priceClient/priceClient.js +197 -0
  192. package/dist/cjs/priceClient/priceClient.js.map +1 -0
  193. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +29 -0
  194. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +62 -0
  195. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -0
  196. package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +151 -0
  197. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +35 -0
  198. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -0
  199. package/dist/cjs/relayFeeCalculator/chain-queries/index.d.ts +3 -0
  200. package/dist/cjs/relayFeeCalculator/chain-queries/index.js +7 -0
  201. package/dist/cjs/relayFeeCalculator/chain-queries/index.js.map +1 -0
  202. package/dist/cjs/relayFeeCalculator/chain-queries/polygon.d.ts +152 -0
  203. package/dist/cjs/relayFeeCalculator/chain-queries/polygon.js +43 -0
  204. package/dist/cjs/relayFeeCalculator/chain-queries/polygon.js.map +1 -0
  205. package/dist/cjs/relayFeeCalculator/index.d.ts +2 -0
  206. package/dist/cjs/relayFeeCalculator/index.js +6 -0
  207. package/dist/cjs/relayFeeCalculator/index.js.map +1 -0
  208. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +231 -0
  209. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +224 -0
  210. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -0
  211. package/dist/cjs/typechain.d.ts +17 -0
  212. package/dist/cjs/typechain.js +20 -0
  213. package/dist/cjs/typechain.js.map +1 -0
  214. package/dist/cjs/typeguards/error.d.ts +3 -0
  215. package/dist/cjs/typeguards/error.js +11 -0
  216. package/dist/cjs/typeguards/error.js.map +1 -0
  217. package/dist/cjs/typeguards/index.d.ts +1 -0
  218. package/dist/cjs/typeguards/index.js +5 -0
  219. package/dist/cjs/typeguards/index.js.map +1 -0
  220. package/dist/cjs/utils/AddressUtils.d.ts +2 -0
  221. package/dist/cjs/utils/AddressUtils.js +24 -0
  222. package/dist/cjs/utils/AddressUtils.js.map +1 -0
  223. package/dist/cjs/utils/ArrayUtils.d.ts +12 -0
  224. package/dist/cjs/utils/ArrayUtils.js +125 -0
  225. package/dist/cjs/utils/ArrayUtils.js.map +1 -0
  226. package/dist/cjs/utils/BigNumberUtils.d.ts +8 -0
  227. package/dist/cjs/utils/BigNumberUtils.js +26 -0
  228. package/dist/cjs/utils/BigNumberUtils.js.map +1 -0
  229. package/dist/cjs/utils/BlockExplorerUtils.d.ts +3 -0
  230. package/dist/cjs/utils/BlockExplorerUtils.js +52 -0
  231. package/dist/cjs/utils/BlockExplorerUtils.js.map +1 -0
  232. package/dist/cjs/utils/BlockUtils.d.ts +28 -0
  233. package/dist/cjs/utils/BlockUtils.js +251 -0
  234. package/dist/cjs/utils/BlockUtils.js.map +1 -0
  235. package/dist/cjs/utils/BundleUtils.d.ts +5 -0
  236. package/dist/cjs/utils/BundleUtils.js +62 -0
  237. package/dist/cjs/utils/BundleUtils.js.map +1 -0
  238. package/dist/cjs/utils/CachingUtils.d.ts +5 -0
  239. package/dist/cjs/utils/CachingUtils.js +59 -0
  240. package/dist/cjs/utils/CachingUtils.js.map +1 -0
  241. package/dist/cjs/utils/DeploymentUtils.d.ts +1 -0
  242. package/dist/cjs/utils/DeploymentUtils.js +8 -0
  243. package/dist/cjs/utils/DeploymentUtils.js.map +1 -0
  244. package/dist/cjs/utils/DepositUtils.d.ts +19 -0
  245. package/dist/cjs/utils/DepositUtils.js +107 -0
  246. package/dist/cjs/utils/DepositUtils.js.map +1 -0
  247. package/dist/cjs/utils/EventUtils.d.ts +18 -0
  248. package/dist/cjs/utils/EventUtils.js +169 -0
  249. package/dist/cjs/utils/EventUtils.js.map +1 -0
  250. package/dist/cjs/utils/FlowUtils.d.ts +7 -0
  251. package/dist/cjs/utils/FlowUtils.js +42 -0
  252. package/dist/cjs/utils/FlowUtils.js.map +1 -0
  253. package/dist/cjs/utils/FormattingUtils.d.ts +15 -0
  254. package/dist/cjs/utils/FormattingUtils.js +107 -0
  255. package/dist/cjs/utils/FormattingUtils.js.map +1 -0
  256. package/dist/cjs/utils/IPFSUtils.d.ts +4 -0
  257. package/dist/cjs/utils/IPFSUtils.js +48 -0
  258. package/dist/cjs/utils/IPFSUtils.js.map +1 -0
  259. package/dist/cjs/utils/JSONUtils.d.ts +4 -0
  260. package/dist/cjs/utils/JSONUtils.js +53 -0
  261. package/dist/cjs/utils/JSONUtils.js.map +1 -0
  262. package/dist/cjs/utils/LogUtils.d.ts +14 -0
  263. package/dist/cjs/utils/LogUtils.js +18 -0
  264. package/dist/cjs/utils/LogUtils.js.map +1 -0
  265. package/dist/cjs/utils/Multicall.d.ts +13 -0
  266. package/dist/cjs/utils/Multicall.js +73 -0
  267. package/dist/cjs/utils/Multicall.js.map +1 -0
  268. package/dist/cjs/utils/NetworkUtils.d.ts +10 -0
  269. package/dist/cjs/utils/NetworkUtils.js +70 -0
  270. package/dist/cjs/utils/NetworkUtils.js.map +1 -0
  271. package/dist/cjs/utils/NumberUtils.d.ts +2 -0
  272. package/dist/cjs/utils/NumberUtils.js +12 -0
  273. package/dist/cjs/utils/NumberUtils.js.map +1 -0
  274. package/dist/cjs/utils/ObjectUtils.d.ts +5 -0
  275. package/dist/cjs/utils/ObjectUtils.js +65 -0
  276. package/dist/cjs/utils/ObjectUtils.js.map +1 -0
  277. package/dist/cjs/utils/ReviverUtils.d.ts +3 -0
  278. package/dist/cjs/utils/ReviverUtils.js +23 -0
  279. package/dist/cjs/utils/ReviverUtils.js.map +1 -0
  280. package/dist/cjs/utils/SpokeUtils.d.ts +16 -0
  281. package/dist/cjs/utils/SpokeUtils.js +299 -0
  282. package/dist/cjs/utils/SpokeUtils.js.map +1 -0
  283. package/dist/cjs/utils/TimeUtils.d.ts +1 -0
  284. package/dist/cjs/utils/TimeUtils.js +8 -0
  285. package/dist/cjs/utils/TimeUtils.js.map +1 -0
  286. package/dist/cjs/utils/TokenUtils.d.ts +303 -0
  287. package/dist/cjs/utils/TokenUtils.js +74 -0
  288. package/dist/cjs/utils/TokenUtils.js.map +1 -0
  289. package/dist/cjs/utils/TypeGuards.d.ts +3 -0
  290. package/dist/cjs/utils/TypeGuards.js +16 -0
  291. package/dist/cjs/utils/TypeGuards.js.map +1 -0
  292. package/dist/cjs/utils/TypeUtils.d.ts +5 -0
  293. package/dist/cjs/utils/TypeUtils.js +3 -0
  294. package/dist/cjs/utils/TypeUtils.js.map +1 -0
  295. package/dist/cjs/utils/V3Utils.d.ts +4 -0
  296. package/dist/cjs/utils/V3Utils.js +15 -0
  297. package/dist/cjs/utils/V3Utils.js.map +1 -0
  298. package/dist/cjs/utils/ValidatorUtils.d.ts +2 -0
  299. package/dist/cjs/utils/ValidatorUtils.js +39 -0
  300. package/dist/cjs/utils/ValidatorUtils.js.map +1 -0
  301. package/dist/cjs/utils/abi/contracts/Multicall3.json +440 -0
  302. package/dist/cjs/utils/abi/index.d.ts +3 -0
  303. package/dist/cjs/utils/abi/index.js +31 -0
  304. package/dist/cjs/utils/abi/index.js.map +1 -0
  305. package/dist/cjs/utils/common.d.ts +79 -0
  306. package/dist/cjs/utils/common.js +220 -0
  307. package/dist/cjs/utils/common.js.map +1 -0
  308. package/dist/cjs/utils/index.d.ts +29 -0
  309. package/dist/cjs/utils/index.js +33 -0
  310. package/dist/cjs/utils/index.js.map +1 -0
  311. package/dist/esm/apiClient/abstractClient.d.ts +66 -0
  312. package/dist/esm/apiClient/abstractClient.js +31 -0
  313. package/dist/esm/apiClient/abstractClient.js.map +1 -0
  314. package/dist/esm/apiClient/index.d.ts +2 -0
  315. package/dist/esm/apiClient/index.js +3 -0
  316. package/dist/esm/apiClient/index.js.map +1 -0
  317. package/dist/esm/apiClient/mockedClient.d.ts +24 -0
  318. package/dist/esm/apiClient/mockedClient.js +69 -0
  319. package/dist/esm/apiClient/mockedClient.js.map +1 -0
  320. package/dist/esm/apiClient/productionClient.d.ts +16 -0
  321. package/dist/esm/apiClient/productionClient.js +114 -0
  322. package/dist/esm/apiClient/productionClient.js.map +1 -0
  323. package/dist/esm/apiClient/types.d.ts +44 -0
  324. package/dist/esm/apiClient/types.js +2 -0
  325. package/dist/esm/apiClient/types.js.map +1 -0
  326. package/dist/esm/caching/Arweave/ArweaveClient.d.ts +61 -0
  327. package/dist/esm/caching/Arweave/ArweaveClient.js +265 -0
  328. package/dist/esm/caching/Arweave/ArweaveClient.js.map +1 -0
  329. package/dist/esm/caching/Arweave/index.d.ts +1 -0
  330. package/dist/esm/caching/Arweave/index.js +2 -0
  331. package/dist/esm/caching/Arweave/index.js.map +1 -0
  332. package/dist/esm/caching/IPFS/PinataIPFSClient.d.ts +37 -0
  333. package/dist/esm/caching/IPFS/PinataIPFSClient.js +81 -0
  334. package/dist/esm/caching/IPFS/PinataIPFSClient.js.map +1 -0
  335. package/dist/esm/caching/IPFS/index.d.ts +1 -0
  336. package/dist/esm/caching/IPFS/index.js +2 -0
  337. package/dist/esm/caching/IPFS/index.js.map +1 -0
  338. package/dist/esm/caching/index.d.ts +2 -0
  339. package/dist/esm/caching/index.js +3 -0
  340. package/dist/esm/caching/index.js.map +1 -0
  341. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +108 -0
  342. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +467 -0
  343. package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -0
  344. package/dist/esm/clients/AcrossConfigStoreClient/index.d.ts +1 -0
  345. package/dist/esm/clients/AcrossConfigStoreClient/index.js +2 -0
  346. package/dist/esm/clients/AcrossConfigStoreClient/index.js.map +1 -0
  347. package/dist/esm/clients/BaseAbstractClient.d.ts +51 -0
  348. package/dist/esm/clients/BaseAbstractClient.js +101 -0
  349. package/dist/esm/clients/BaseAbstractClient.js.map +1 -0
  350. package/dist/esm/clients/HubPoolClient.d.ts +134 -0
  351. package/dist/esm/clients/HubPoolClient.js +862 -0
  352. package/dist/esm/clients/HubPoolClient.js.map +1 -0
  353. package/dist/esm/clients/SpokePoolClient.d.ts +318 -0
  354. package/dist/esm/clients/SpokePoolClient.js +780 -0
  355. package/dist/esm/clients/SpokePoolClient.js.map +1 -0
  356. package/dist/esm/clients/index.d.ts +4 -0
  357. package/dist/esm/clients/index.js +6 -0
  358. package/dist/esm/clients/index.js.map +1 -0
  359. package/dist/esm/clients/mocks/MockConfigStoreClient.d.ts +20 -0
  360. package/dist/esm/clients/mocks/MockConfigStoreClient.js +122 -0
  361. package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -0
  362. package/dist/esm/clients/mocks/MockEvents.d.ts +34 -0
  363. package/dist/esm/clients/mocks/MockEvents.js +126 -0
  364. package/dist/esm/clients/mocks/MockEvents.js.map +1 -0
  365. package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +35 -0
  366. package/dist/esm/clients/mocks/MockHubPoolClient.js +223 -0
  367. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -0
  368. package/dist/esm/clients/mocks/MockSpokePoolClient.d.ts +38 -0
  369. package/dist/esm/clients/mocks/MockSpokePoolClient.js +322 -0
  370. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -0
  371. package/dist/esm/clients/mocks/index.d.ts +3 -0
  372. package/dist/esm/clients/mocks/index.js +4 -0
  373. package/dist/esm/clients/mocks/index.js.map +1 -0
  374. package/dist/esm/coingecko/Coingecko.d.ts +40 -0
  375. package/dist/esm/coingecko/Coingecko.js +283 -0
  376. package/dist/esm/coingecko/Coingecko.js.map +1 -0
  377. package/dist/esm/coingecko/index.d.ts +1 -0
  378. package/dist/esm/coingecko/index.js +2 -0
  379. package/dist/esm/coingecko/index.js.map +1 -0
  380. package/dist/esm/constants.d.ts +29 -0
  381. package/dist/esm/constants.js +34 -0
  382. package/dist/esm/constants.js.map +1 -0
  383. package/dist/esm/contracts/acrossConfigStore.d.ts +57 -0
  384. package/dist/esm/contracts/acrossConfigStore.js +62 -0
  385. package/dist/esm/contracts/acrossConfigStore.js.map +1 -0
  386. package/dist/esm/contracts/hubPool.d.ts +17 -0
  387. package/dist/esm/contracts/hubPool.js +55 -0
  388. package/dist/esm/contracts/hubPool.js.map +1 -0
  389. package/dist/esm/contracts/index.d.ts +2 -0
  390. package/dist/esm/contracts/index.js +5 -0
  391. package/dist/esm/contracts/index.js.map +1 -0
  392. package/dist/esm/contracts/utils.d.ts +23 -0
  393. package/dist/esm/contracts/utils.js +38 -0
  394. package/dist/esm/contracts/utils.js.map +1 -0
  395. package/dist/esm/gasPriceOracle/adapters/arbitrum.d.ts +3 -0
  396. package/dist/esm/gasPriceOracle/adapters/arbitrum.js +25 -0
  397. package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -0
  398. package/dist/esm/gasPriceOracle/adapters/ethereum.d.ts +4 -0
  399. package/dist/esm/gasPriceOracle/adapters/ethereum.js +41 -0
  400. package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -0
  401. package/dist/esm/gasPriceOracle/adapters/index.d.ts +3 -0
  402. package/dist/esm/gasPriceOracle/adapters/index.js +4 -0
  403. package/dist/esm/gasPriceOracle/adapters/index.js.map +1 -0
  404. package/dist/esm/gasPriceOracle/adapters/polygon.d.ts +3 -0
  405. package/dist/esm/gasPriceOracle/adapters/polygon.js +78 -0
  406. package/dist/esm/gasPriceOracle/adapters/polygon.js.map +1 -0
  407. package/dist/esm/gasPriceOracle/index.d.ts +2 -0
  408. package/dist/esm/gasPriceOracle/index.js +2 -0
  409. package/dist/esm/gasPriceOracle/index.js.map +1 -0
  410. package/dist/esm/gasPriceOracle/oracle.d.ts +10 -0
  411. package/dist/esm/gasPriceOracle/oracle.js +48 -0
  412. package/dist/esm/gasPriceOracle/oracle.js.map +1 -0
  413. package/dist/esm/gasPriceOracle/types.d.ts +8 -0
  414. package/dist/esm/gasPriceOracle/types.js +2 -0
  415. package/dist/esm/gasPriceOracle/types.js.map +1 -0
  416. package/dist/esm/gasPriceOracle/util.d.ts +2 -0
  417. package/dist/esm/gasPriceOracle/util.js +4 -0
  418. package/dist/esm/gasPriceOracle/util.js.map +1 -0
  419. package/dist/esm/index.d.ts +15 -0
  420. package/dist/esm/index.js +31 -0
  421. package/dist/esm/index.js.map +1 -0
  422. package/dist/esm/interfaces/Bridge.d.ts +9 -0
  423. package/dist/esm/interfaces/Bridge.js +2 -0
  424. package/dist/esm/interfaces/Bridge.js.map +1 -0
  425. package/dist/esm/interfaces/CachingMechanism.d.ts +26 -0
  426. package/dist/esm/interfaces/CachingMechanism.js +2 -0
  427. package/dist/esm/interfaces/CachingMechanism.js.map +1 -0
  428. package/dist/esm/interfaces/Common.d.ts +10 -0
  429. package/dist/esm/interfaces/Common.js +2 -0
  430. package/dist/esm/interfaces/Common.js.map +1 -0
  431. package/dist/esm/interfaces/ConfigStore.d.ts +157 -0
  432. package/dist/esm/interfaces/ConfigStore.js +2 -0
  433. package/dist/esm/interfaces/ConfigStore.js.map +1 -0
  434. package/dist/esm/interfaces/Error.d.ts +5 -0
  435. package/dist/esm/interfaces/Error.js +2 -0
  436. package/dist/esm/interfaces/Error.js.map +1 -0
  437. package/dist/esm/interfaces/HubPool.d.ts +98 -0
  438. package/dist/esm/interfaces/HubPool.js +2 -0
  439. package/dist/esm/interfaces/HubPool.js.map +1 -0
  440. package/dist/esm/interfaces/SpokePool.d.ts +103 -0
  441. package/dist/esm/interfaces/SpokePool.js +13 -0
  442. package/dist/esm/interfaces/SpokePool.js.map +1 -0
  443. package/dist/esm/interfaces/TypedData.d.ts +19 -0
  444. package/dist/esm/interfaces/TypedData.js +2 -0
  445. package/dist/esm/interfaces/TypedData.js.map +1 -0
  446. package/dist/esm/interfaces/index.d.ts +8 -0
  447. package/dist/esm/interfaces/index.js +9 -0
  448. package/dist/esm/interfaces/index.js.map +1 -0
  449. package/dist/esm/lpFeeCalculator/index.d.ts +1 -0
  450. package/dist/esm/lpFeeCalculator/index.js +2 -0
  451. package/dist/esm/lpFeeCalculator/index.js.map +1 -0
  452. package/dist/esm/lpFeeCalculator/lpFeeCalculator.d.ts +66 -0
  453. package/dist/esm/lpFeeCalculator/lpFeeCalculator.js +129 -0
  454. package/dist/esm/lpFeeCalculator/lpFeeCalculator.js.map +1 -0
  455. package/dist/esm/lpFeeCalculator/rateModel.d.ts +45 -0
  456. package/dist/esm/lpFeeCalculator/rateModel.js +138 -0
  457. package/dist/esm/lpFeeCalculator/rateModel.js.map +1 -0
  458. package/dist/esm/merkleDistributor/MerkleDistributor.d.ts +20 -0
  459. package/dist/esm/merkleDistributor/MerkleDistributor.js +34 -0
  460. package/dist/esm/merkleDistributor/MerkleDistributor.js.map +1 -0
  461. package/dist/esm/merkleDistributor/index.d.ts +2 -0
  462. package/dist/esm/merkleDistributor/index.js +3 -0
  463. package/dist/esm/merkleDistributor/index.js.map +1 -0
  464. package/dist/esm/merkleDistributor/model/Distribution.d.ts +17 -0
  465. package/dist/esm/merkleDistributor/model/Distribution.js +2 -0
  466. package/dist/esm/merkleDistributor/model/Distribution.js.map +1 -0
  467. package/dist/esm/merkleDistributor/model/index.d.ts +1 -0
  468. package/dist/esm/merkleDistributor/model/index.js +2 -0
  469. package/dist/esm/merkleDistributor/model/index.js.map +1 -0
  470. package/dist/esm/package.json +1 -0
  471. package/dist/esm/pool/TransactionManager.d.ts +12 -0
  472. package/dist/esm/pool/TransactionManager.js +122 -0
  473. package/dist/esm/pool/TransactionManager.js.map +1 -0
  474. package/dist/esm/pool/index.d.ts +1 -0
  475. package/dist/esm/pool/index.js +2 -0
  476. package/dist/esm/pool/index.js.map +1 -0
  477. package/dist/esm/pool/poolClient.d.ts +242 -0
  478. package/dist/esm/pool/poolClient.js +899 -0
  479. package/dist/esm/pool/poolClient.js.map +1 -0
  480. package/dist/esm/priceClient/adapters/acrossApi.d.ts +14 -0
  481. package/dist/esm/priceClient/adapters/acrossApi.js +49 -0
  482. package/dist/esm/priceClient/adapters/acrossApi.js.map +1 -0
  483. package/dist/esm/priceClient/adapters/baseAdapter.d.ts +17 -0
  484. package/dist/esm/priceClient/adapters/baseAdapter.js +78 -0
  485. package/dist/esm/priceClient/adapters/baseAdapter.js.map +1 -0
  486. package/dist/esm/priceClient/adapters/coingecko.d.ts +14 -0
  487. package/dist/esm/priceClient/adapters/coingecko.js +73 -0
  488. package/dist/esm/priceClient/adapters/coingecko.js.map +1 -0
  489. package/dist/esm/priceClient/adapters/defiLlama.d.ts +17 -0
  490. package/dist/esm/priceClient/adapters/defiLlama.js +93 -0
  491. package/dist/esm/priceClient/adapters/defiLlama.js.map +1 -0
  492. package/dist/esm/priceClient/adapters/index.d.ts +3 -0
  493. package/dist/esm/priceClient/adapters/index.js +7 -0
  494. package/dist/esm/priceClient/adapters/index.js.map +1 -0
  495. package/dist/esm/priceClient/index.d.ts +2 -0
  496. package/dist/esm/priceClient/index.js +4 -0
  497. package/dist/esm/priceClient/index.js.map +1 -0
  498. package/dist/esm/priceClient/priceClient.d.ts +32 -0
  499. package/dist/esm/priceClient/priceClient.js +206 -0
  500. package/dist/esm/priceClient/priceClient.js.map +1 -0
  501. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +61 -0
  502. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +91 -0
  503. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -0
  504. package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +151 -0
  505. package/dist/esm/relayFeeCalculator/chain-queries/factory.js +38 -0
  506. package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -0
  507. package/dist/esm/relayFeeCalculator/chain-queries/index.d.ts +3 -0
  508. package/dist/esm/relayFeeCalculator/chain-queries/index.js +4 -0
  509. package/dist/esm/relayFeeCalculator/chain-queries/index.js.map +1 -0
  510. package/dist/esm/relayFeeCalculator/chain-queries/polygon.d.ts +152 -0
  511. package/dist/esm/relayFeeCalculator/chain-queries/polygon.js +40 -0
  512. package/dist/esm/relayFeeCalculator/chain-queries/polygon.js.map +1 -0
  513. package/dist/esm/relayFeeCalculator/index.d.ts +2 -0
  514. package/dist/esm/relayFeeCalculator/index.js +3 -0
  515. package/dist/esm/relayFeeCalculator/index.js.map +1 -0
  516. package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +282 -0
  517. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +298 -0
  518. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -0
  519. package/dist/esm/typechain.d.ts +22 -0
  520. package/dist/esm/typechain.js +9 -0
  521. package/dist/esm/typechain.js.map +1 -0
  522. package/dist/esm/typeguards/error.d.ts +3 -0
  523. package/dist/esm/typeguards/error.js +6 -0
  524. package/dist/esm/typeguards/error.js.map +1 -0
  525. package/dist/esm/typeguards/index.d.ts +1 -0
  526. package/dist/esm/typeguards/index.js +2 -0
  527. package/dist/esm/typeguards/index.js.map +1 -0
  528. package/dist/esm/utils/AddressUtils.d.ts +8 -0
  529. package/dist/esm/utils/AddressUtils.js +28 -0
  530. package/dist/esm/utils/AddressUtils.js.map +1 -0
  531. package/dist/esm/utils/ArrayUtils.d.ts +98 -0
  532. package/dist/esm/utils/ArrayUtils.js +196 -0
  533. package/dist/esm/utils/ArrayUtils.js.map +1 -0
  534. package/dist/esm/utils/BigNumberUtils.d.ts +31 -0
  535. package/dist/esm/utils/BigNumberUtils.js +52 -0
  536. package/dist/esm/utils/BigNumberUtils.js.map +1 -0
  537. package/dist/esm/utils/BlockExplorerUtils.d.ts +21 -0
  538. package/dist/esm/utils/BlockExplorerUtils.js +91 -0
  539. package/dist/esm/utils/BlockExplorerUtils.js.map +1 -0
  540. package/dist/esm/utils/BlockUtils.d.ts +46 -0
  541. package/dist/esm/utils/BlockUtils.js +294 -0
  542. package/dist/esm/utils/BlockUtils.js.map +1 -0
  543. package/dist/esm/utils/BundleUtils.d.ts +29 -0
  544. package/dist/esm/utils/BundleUtils.js +89 -0
  545. package/dist/esm/utils/BundleUtils.js.map +1 -0
  546. package/dist/esm/utils/CachingUtils.d.ts +17 -0
  547. package/dist/esm/utils/CachingUtils.js +66 -0
  548. package/dist/esm/utils/CachingUtils.js.map +1 -0
  549. package/dist/esm/utils/DeploymentUtils.d.ts +1 -0
  550. package/dist/esm/utils/DeploymentUtils.js +2 -0
  551. package/dist/esm/utils/DeploymentUtils.js.map +1 -0
  552. package/dist/esm/utils/DepositUtils.d.ts +46 -0
  553. package/dist/esm/utils/DepositUtils.js +138 -0
  554. package/dist/esm/utils/DepositUtils.js.map +1 -0
  555. package/dist/esm/utils/EventUtils.d.ts +32 -0
  556. package/dist/esm/utils/EventUtils.js +194 -0
  557. package/dist/esm/utils/EventUtils.js.map +1 -0
  558. package/dist/esm/utils/FlowUtils.d.ts +8 -0
  559. package/dist/esm/utils/FlowUtils.js +39 -0
  560. package/dist/esm/utils/FlowUtils.js.map +1 -0
  561. package/dist/esm/utils/FormattingUtils.d.ts +61 -0
  562. package/dist/esm/utils/FormattingUtils.js +167 -0
  563. package/dist/esm/utils/FormattingUtils.js.map +1 -0
  564. package/dist/esm/utils/IPFSUtils.d.ts +24 -0
  565. package/dist/esm/utils/IPFSUtils.js +65 -0
  566. package/dist/esm/utils/IPFSUtils.js.map +1 -0
  567. package/dist/esm/utils/JSONUtils.d.ts +31 -0
  568. package/dist/esm/utils/JSONUtils.js +82 -0
  569. package/dist/esm/utils/JSONUtils.js.map +1 -0
  570. package/dist/esm/utils/LogUtils.d.ts +20 -0
  571. package/dist/esm/utils/LogUtils.js +19 -0
  572. package/dist/esm/utils/LogUtils.js.map +1 -0
  573. package/dist/esm/utils/Multicall.d.ts +13 -0
  574. package/dist/esm/utils/Multicall.js +70 -0
  575. package/dist/esm/utils/Multicall.js.map +1 -0
  576. package/dist/esm/utils/NetworkUtils.d.ts +60 -0
  577. package/dist/esm/utils/NetworkUtils.js +109 -0
  578. package/dist/esm/utils/NetworkUtils.js.map +1 -0
  579. package/dist/esm/utils/NumberUtils.d.ts +12 -0
  580. package/dist/esm/utils/NumberUtils.js +17 -0
  581. package/dist/esm/utils/NumberUtils.js.map +1 -0
  582. package/dist/esm/utils/ObjectUtils.d.ts +10 -0
  583. package/dist/esm/utils/ObjectUtils.js +72 -0
  584. package/dist/esm/utils/ObjectUtils.js.map +1 -0
  585. package/dist/esm/utils/ReviverUtils.d.ts +15 -0
  586. package/dist/esm/utils/ReviverUtils.js +33 -0
  587. package/dist/esm/utils/ReviverUtils.js.map +1 -0
  588. package/dist/esm/utils/SpokeUtils.d.ts +64 -0
  589. package/dist/esm/utils/SpokeUtils.js +370 -0
  590. package/dist/esm/utils/SpokeUtils.js.map +1 -0
  591. package/dist/esm/utils/TimeUtils.d.ts +5 -0
  592. package/dist/esm/utils/TimeUtils.js +8 -0
  593. package/dist/esm/utils/TimeUtils.js.map +1 -0
  594. package/dist/esm/utils/TokenUtils.d.ts +325 -0
  595. package/dist/esm/utils/TokenUtils.js +88 -0
  596. package/dist/esm/utils/TokenUtils.js.map +1 -0
  597. package/dist/esm/utils/TypeGuards.d.ts +3 -0
  598. package/dist/esm/utils/TypeGuards.js +10 -0
  599. package/dist/esm/utils/TypeGuards.js.map +1 -0
  600. package/dist/esm/utils/TypeUtils.d.ts +5 -0
  601. package/dist/esm/utils/TypeUtils.js +2 -0
  602. package/dist/esm/utils/TypeUtils.js.map +1 -0
  603. package/dist/esm/utils/V3Utils.d.ts +4 -0
  604. package/dist/esm/utils/V3Utils.js +10 -0
  605. package/dist/esm/utils/V3Utils.js.map +1 -0
  606. package/dist/esm/utils/ValidatorUtils.d.ts +2 -0
  607. package/dist/esm/utils/ValidatorUtils.js +35 -0
  608. package/dist/esm/utils/ValidatorUtils.js.map +1 -0
  609. package/dist/esm/utils/abi/contracts/Multicall3.json +440 -0
  610. package/dist/esm/utils/abi/index.d.ts +18 -0
  611. package/dist/esm/utils/abi/index.js +41 -0
  612. package/dist/esm/utils/abi/index.js.map +1 -0
  613. package/dist/esm/utils/common.d.ts +204 -0
  614. package/dist/esm/utils/common.js +325 -0
  615. package/dist/esm/utils/common.js.map +1 -0
  616. package/dist/esm/utils/index.d.ts +29 -0
  617. package/dist/esm/utils/index.js +30 -0
  618. package/dist/esm/utils/index.js.map +1 -0
  619. package/dist/types/apiClient/abstractClient.d.ts +67 -0
  620. package/dist/types/apiClient/abstractClient.d.ts.map +1 -0
  621. package/dist/types/apiClient/index.d.ts +3 -0
  622. package/dist/types/apiClient/index.d.ts.map +1 -0
  623. package/dist/types/apiClient/mockedClient.d.ts +25 -0
  624. package/dist/types/apiClient/mockedClient.d.ts.map +1 -0
  625. package/dist/types/apiClient/productionClient.d.ts +17 -0
  626. package/dist/types/apiClient/productionClient.d.ts.map +1 -0
  627. package/dist/types/apiClient/types.d.ts +45 -0
  628. package/dist/types/apiClient/types.d.ts.map +1 -0
  629. package/dist/types/caching/Arweave/ArweaveClient.d.ts +62 -0
  630. package/dist/types/caching/Arweave/ArweaveClient.d.ts.map +1 -0
  631. package/dist/types/caching/Arweave/index.d.ts +2 -0
  632. package/dist/types/caching/Arweave/index.d.ts.map +1 -0
  633. package/dist/types/caching/IPFS/PinataIPFSClient.d.ts +38 -0
  634. package/dist/types/caching/IPFS/PinataIPFSClient.d.ts.map +1 -0
  635. package/dist/types/caching/IPFS/index.d.ts +2 -0
  636. package/dist/types/caching/IPFS/index.d.ts.map +1 -0
  637. package/dist/types/caching/index.d.ts +3 -0
  638. package/dist/types/caching/index.d.ts.map +1 -0
  639. package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +109 -0
  640. package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -0
  641. package/dist/types/clients/AcrossConfigStoreClient/index.d.ts +2 -0
  642. package/dist/types/clients/AcrossConfigStoreClient/index.d.ts.map +1 -0
  643. package/dist/types/clients/BaseAbstractClient.d.ts +52 -0
  644. package/dist/types/clients/BaseAbstractClient.d.ts.map +1 -0
  645. package/dist/types/clients/HubPoolClient.d.ts +135 -0
  646. package/dist/types/clients/HubPoolClient.d.ts.map +1 -0
  647. package/dist/types/clients/SpokePoolClient.d.ts +319 -0
  648. package/dist/types/clients/SpokePoolClient.d.ts.map +1 -0
  649. package/dist/types/clients/index.d.ts +5 -0
  650. package/dist/types/clients/index.d.ts.map +1 -0
  651. package/dist/types/clients/mocks/MockConfigStoreClient.d.ts +21 -0
  652. package/dist/types/clients/mocks/MockConfigStoreClient.d.ts.map +1 -0
  653. package/dist/types/clients/mocks/MockEvents.d.ts +35 -0
  654. package/dist/types/clients/mocks/MockEvents.d.ts.map +1 -0
  655. package/dist/types/clients/mocks/MockHubPoolClient.d.ts +36 -0
  656. package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -0
  657. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts +39 -0
  658. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -0
  659. package/dist/types/clients/mocks/index.d.ts +4 -0
  660. package/dist/types/clients/mocks/index.d.ts.map +1 -0
  661. package/dist/types/coingecko/Coingecko.d.ts +41 -0
  662. package/dist/types/coingecko/Coingecko.d.ts.map +1 -0
  663. package/dist/types/coingecko/index.d.ts +2 -0
  664. package/dist/types/coingecko/index.d.ts.map +1 -0
  665. package/dist/types/constants.d.ts +30 -0
  666. package/dist/types/constants.d.ts.map +1 -0
  667. package/dist/types/contracts/acrossConfigStore.d.ts +58 -0
  668. package/dist/types/contracts/acrossConfigStore.d.ts.map +1 -0
  669. package/dist/types/contracts/hubPool.d.ts +18 -0
  670. package/dist/types/contracts/hubPool.d.ts.map +1 -0
  671. package/dist/types/contracts/index.d.ts +3 -0
  672. package/dist/types/contracts/index.d.ts.map +1 -0
  673. package/dist/types/contracts/utils.d.ts +24 -0
  674. package/dist/types/contracts/utils.d.ts.map +1 -0
  675. package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts +4 -0
  676. package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts.map +1 -0
  677. package/dist/types/gasPriceOracle/adapters/ethereum.d.ts +5 -0
  678. package/dist/types/gasPriceOracle/adapters/ethereum.d.ts.map +1 -0
  679. package/dist/types/gasPriceOracle/adapters/index.d.ts +4 -0
  680. package/dist/types/gasPriceOracle/adapters/index.d.ts.map +1 -0
  681. package/dist/types/gasPriceOracle/adapters/polygon.d.ts +4 -0
  682. package/dist/types/gasPriceOracle/adapters/polygon.d.ts.map +1 -0
  683. package/dist/types/gasPriceOracle/index.d.ts +3 -0
  684. package/dist/types/gasPriceOracle/index.d.ts.map +1 -0
  685. package/dist/types/gasPriceOracle/oracle.d.ts +11 -0
  686. package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -0
  687. package/dist/types/gasPriceOracle/types.d.ts +9 -0
  688. package/dist/types/gasPriceOracle/types.d.ts.map +1 -0
  689. package/dist/types/gasPriceOracle/util.d.ts +3 -0
  690. package/dist/types/gasPriceOracle/util.d.ts.map +1 -0
  691. package/dist/types/index.d.ts +16 -0
  692. package/dist/types/index.d.ts.map +1 -0
  693. package/dist/types/interfaces/Bridge.d.ts +10 -0
  694. package/dist/types/interfaces/Bridge.d.ts.map +1 -0
  695. package/dist/types/interfaces/CachingMechanism.d.ts +27 -0
  696. package/dist/types/interfaces/CachingMechanism.d.ts.map +1 -0
  697. package/dist/types/interfaces/Common.d.ts +11 -0
  698. package/dist/types/interfaces/Common.d.ts.map +1 -0
  699. package/dist/types/interfaces/ConfigStore.d.ts +158 -0
  700. package/dist/types/interfaces/ConfigStore.d.ts.map +1 -0
  701. package/dist/types/interfaces/Error.d.ts +6 -0
  702. package/dist/types/interfaces/Error.d.ts.map +1 -0
  703. package/dist/types/interfaces/HubPool.d.ts +99 -0
  704. package/dist/types/interfaces/HubPool.d.ts.map +1 -0
  705. package/dist/types/interfaces/SpokePool.d.ts +104 -0
  706. package/dist/types/interfaces/SpokePool.d.ts.map +1 -0
  707. package/dist/types/interfaces/TypedData.d.ts +20 -0
  708. package/dist/types/interfaces/TypedData.d.ts.map +1 -0
  709. package/dist/types/interfaces/index.d.ts +9 -0
  710. package/dist/types/interfaces/index.d.ts.map +1 -0
  711. package/dist/types/lpFeeCalculator/index.d.ts +2 -0
  712. package/dist/types/lpFeeCalculator/index.d.ts.map +1 -0
  713. package/dist/types/lpFeeCalculator/lpFeeCalculator.d.ts +67 -0
  714. package/dist/types/lpFeeCalculator/lpFeeCalculator.d.ts.map +1 -0
  715. package/dist/types/lpFeeCalculator/rateModel.d.ts +46 -0
  716. package/dist/types/lpFeeCalculator/rateModel.d.ts.map +1 -0
  717. package/dist/types/merkleDistributor/MerkleDistributor.d.ts +21 -0
  718. package/dist/types/merkleDistributor/MerkleDistributor.d.ts.map +1 -0
  719. package/dist/types/merkleDistributor/index.d.ts +3 -0
  720. package/dist/types/merkleDistributor/index.d.ts.map +1 -0
  721. package/dist/types/merkleDistributor/model/Distribution.d.ts +18 -0
  722. package/dist/types/merkleDistributor/model/Distribution.d.ts.map +1 -0
  723. package/dist/types/merkleDistributor/model/index.d.ts +2 -0
  724. package/dist/types/merkleDistributor/model/index.d.ts.map +1 -0
  725. package/dist/types/pool/TransactionManager.d.ts +13 -0
  726. package/dist/types/pool/TransactionManager.d.ts.map +1 -0
  727. package/dist/types/pool/index.d.ts +2 -0
  728. package/dist/types/pool/index.d.ts.map +1 -0
  729. package/dist/types/pool/poolClient.d.ts +243 -0
  730. package/dist/types/pool/poolClient.d.ts.map +1 -0
  731. package/dist/types/priceClient/adapters/acrossApi.d.ts +15 -0
  732. package/dist/types/priceClient/adapters/acrossApi.d.ts.map +1 -0
  733. package/dist/types/priceClient/adapters/baseAdapter.d.ts +18 -0
  734. package/dist/types/priceClient/adapters/baseAdapter.d.ts.map +1 -0
  735. package/dist/types/priceClient/adapters/coingecko.d.ts +15 -0
  736. package/dist/types/priceClient/adapters/coingecko.d.ts.map +1 -0
  737. package/dist/types/priceClient/adapters/defiLlama.d.ts +18 -0
  738. package/dist/types/priceClient/adapters/defiLlama.d.ts.map +1 -0
  739. package/dist/types/priceClient/adapters/index.d.ts +4 -0
  740. package/dist/types/priceClient/adapters/index.d.ts.map +1 -0
  741. package/dist/types/priceClient/index.d.ts +3 -0
  742. package/dist/types/priceClient/index.d.ts.map +1 -0
  743. package/dist/types/priceClient/priceClient.d.ts +33 -0
  744. package/dist/types/priceClient/priceClient.d.ts.map +1 -0
  745. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +62 -0
  746. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -0
  747. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts +152 -0
  748. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -0
  749. package/dist/types/relayFeeCalculator/chain-queries/index.d.ts +4 -0
  750. package/dist/types/relayFeeCalculator/chain-queries/index.d.ts.map +1 -0
  751. package/dist/types/relayFeeCalculator/chain-queries/polygon.d.ts +153 -0
  752. package/dist/types/relayFeeCalculator/chain-queries/polygon.d.ts.map +1 -0
  753. package/dist/types/relayFeeCalculator/index.d.ts +3 -0
  754. package/dist/types/relayFeeCalculator/index.d.ts.map +1 -0
  755. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +283 -0
  756. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -0
  757. package/dist/types/typechain.d.ts +23 -0
  758. package/dist/types/typechain.d.ts.map +1 -0
  759. package/dist/types/typeguards/error.d.ts +4 -0
  760. package/dist/types/typeguards/error.d.ts.map +1 -0
  761. package/dist/types/typeguards/index.d.ts +2 -0
  762. package/dist/types/typeguards/index.d.ts.map +1 -0
  763. package/dist/types/utils/AddressUtils.d.ts +9 -0
  764. package/dist/types/utils/AddressUtils.d.ts.map +1 -0
  765. package/dist/types/utils/ArrayUtils.d.ts +99 -0
  766. package/dist/types/utils/ArrayUtils.d.ts.map +1 -0
  767. package/dist/types/utils/BigNumberUtils.d.ts +32 -0
  768. package/dist/types/utils/BigNumberUtils.d.ts.map +1 -0
  769. package/dist/types/utils/BlockExplorerUtils.d.ts +22 -0
  770. package/dist/types/utils/BlockExplorerUtils.d.ts.map +1 -0
  771. package/dist/types/utils/BlockUtils.d.ts +47 -0
  772. package/dist/types/utils/BlockUtils.d.ts.map +1 -0
  773. package/dist/types/utils/BundleUtils.d.ts +30 -0
  774. package/dist/types/utils/BundleUtils.d.ts.map +1 -0
  775. package/dist/types/utils/CachingUtils.d.ts +18 -0
  776. package/dist/types/utils/CachingUtils.d.ts.map +1 -0
  777. package/dist/types/utils/DeploymentUtils.d.ts +2 -0
  778. package/dist/types/utils/DeploymentUtils.d.ts.map +1 -0
  779. package/dist/types/utils/DepositUtils.d.ts +47 -0
  780. package/dist/types/utils/DepositUtils.d.ts.map +1 -0
  781. package/dist/types/utils/EventUtils.d.ts +33 -0
  782. package/dist/types/utils/EventUtils.d.ts.map +1 -0
  783. package/dist/types/utils/FlowUtils.d.ts +9 -0
  784. package/dist/types/utils/FlowUtils.d.ts.map +1 -0
  785. package/dist/types/utils/FormattingUtils.d.ts +62 -0
  786. package/dist/types/utils/FormattingUtils.d.ts.map +1 -0
  787. package/dist/types/utils/IPFSUtils.d.ts +25 -0
  788. package/dist/types/utils/IPFSUtils.d.ts.map +1 -0
  789. package/dist/types/utils/JSONUtils.d.ts +32 -0
  790. package/dist/types/utils/JSONUtils.d.ts.map +1 -0
  791. package/dist/types/utils/LogUtils.d.ts +21 -0
  792. package/dist/types/utils/LogUtils.d.ts.map +1 -0
  793. package/dist/types/utils/Multicall.d.ts +14 -0
  794. package/dist/types/utils/Multicall.d.ts.map +1 -0
  795. package/dist/types/utils/NetworkUtils.d.ts +61 -0
  796. package/dist/types/utils/NetworkUtils.d.ts.map +1 -0
  797. package/dist/types/utils/NumberUtils.d.ts +13 -0
  798. package/dist/types/utils/NumberUtils.d.ts.map +1 -0
  799. package/dist/types/utils/ObjectUtils.d.ts +11 -0
  800. package/dist/types/utils/ObjectUtils.d.ts.map +1 -0
  801. package/dist/types/utils/ReviverUtils.d.ts +16 -0
  802. package/dist/types/utils/ReviverUtils.d.ts.map +1 -0
  803. package/dist/types/utils/SpokeUtils.d.ts +65 -0
  804. package/dist/types/utils/SpokeUtils.d.ts.map +1 -0
  805. package/dist/types/utils/TimeUtils.d.ts +6 -0
  806. package/dist/types/utils/TimeUtils.d.ts.map +1 -0
  807. package/dist/types/utils/TokenUtils.d.ts +326 -0
  808. package/dist/types/utils/TokenUtils.d.ts.map +1 -0
  809. package/dist/types/utils/TypeGuards.d.ts +4 -0
  810. package/dist/types/utils/TypeGuards.d.ts.map +1 -0
  811. package/dist/types/utils/TypeUtils.d.ts +6 -0
  812. package/dist/types/utils/TypeUtils.d.ts.map +1 -0
  813. package/dist/types/utils/V3Utils.d.ts +5 -0
  814. package/dist/types/utils/V3Utils.d.ts.map +1 -0
  815. package/dist/types/utils/ValidatorUtils.d.ts +3 -0
  816. package/dist/types/utils/ValidatorUtils.d.ts.map +1 -0
  817. package/dist/types/utils/abi/index.d.ts +19 -0
  818. package/dist/types/utils/abi/index.d.ts.map +1 -0
  819. package/dist/types/utils/common.d.ts +205 -0
  820. package/dist/types/utils/common.d.ts.map +1 -0
  821. package/dist/types/utils/index.d.ts +30 -0
  822. package/dist/types/utils/index.d.ts.map +1 -0
  823. package/package.json +144 -0
  824. package/src/apiClient/abstractClient.ts +95 -0
  825. package/src/apiClient/index.ts +2 -0
  826. package/src/apiClient/mockedClient.ts +90 -0
  827. package/src/apiClient/productionClient.ts +98 -0
  828. package/src/apiClient/types.ts +49 -0
  829. package/src/caching/Arweave/ArweaveClient.ts +238 -0
  830. package/src/caching/Arweave/index.ts +1 -0
  831. package/src/caching/IPFS/PinataIPFSClient.ts +92 -0
  832. package/src/caching/IPFS/index.ts +1 -0
  833. package/src/caching/index.ts +2 -0
  834. package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +526 -0
  835. package/src/clients/AcrossConfigStoreClient/index.ts +1 -0
  836. package/src/clients/BaseAbstractClient.ts +94 -0
  837. package/src/clients/HubPoolClient.ts +1010 -0
  838. package/src/clients/SpokePoolClient.ts +894 -0
  839. package/src/clients/index.ts +9 -0
  840. package/src/clients/mocks/MockConfigStoreClient.ts +129 -0
  841. package/src/clients/mocks/MockEvents.ts +156 -0
  842. package/src/clients/mocks/MockHubPoolClient.ts +257 -0
  843. package/src/clients/mocks/MockSpokePoolClient.ts +341 -0
  844. package/src/clients/mocks/index.ts +3 -0
  845. package/src/coingecko/Coingecko.ts +277 -0
  846. package/src/coingecko/index.ts +1 -0
  847. package/src/constants.ts +53 -0
  848. package/src/contracts/acrossConfigStore.ts +49 -0
  849. package/src/contracts/hubPool.ts +90 -0
  850. package/src/contracts/index.ts +2 -0
  851. package/src/contracts/utils.ts +56 -0
  852. package/src/gasPriceOracle/adapters/arbitrum.ts +21 -0
  853. package/src/gasPriceOracle/adapters/ethereum.ts +27 -0
  854. package/src/gasPriceOracle/adapters/index.ts +3 -0
  855. package/src/gasPriceOracle/adapters/polygon.ts +77 -0
  856. package/src/gasPriceOracle/index.ts +2 -0
  857. package/src/gasPriceOracle/oracle.ts +42 -0
  858. package/src/gasPriceOracle/types.ts +10 -0
  859. package/src/gasPriceOracle/util.ts +5 -0
  860. package/src/index.ts +15 -0
  861. package/src/interfaces/Bridge.ts +10 -0
  862. package/src/interfaces/CachingMechanism.ts +37 -0
  863. package/src/interfaces/Common.ts +12 -0
  864. package/src/interfaces/ConfigStore.ts +173 -0
  865. package/src/interfaces/Error.ts +5 -0
  866. package/src/interfaces/HubPool.ts +118 -0
  867. package/src/interfaces/SpokePool.ts +119 -0
  868. package/src/interfaces/TypedData.ts +21 -0
  869. package/src/interfaces/index.ts +8 -0
  870. package/src/lpFeeCalculator/README.md +27 -0
  871. package/src/lpFeeCalculator/index.ts +1 -0
  872. package/src/lpFeeCalculator/lpFeeCalculator.ts +169 -0
  873. package/src/lpFeeCalculator/rateModel.ts +183 -0
  874. package/src/merkleDistributor/MerkleDistributor.ts +37 -0
  875. package/src/merkleDistributor/README.md +30 -0
  876. package/src/merkleDistributor/index.ts +2 -0
  877. package/src/merkleDistributor/model/Distribution.ts +17 -0
  878. package/src/merkleDistributor/model/index.ts +1 -0
  879. package/src/pool/TransactionManager.ts +73 -0
  880. package/src/pool/index.ts +1 -0
  881. package/src/pool/poolClient.ts +840 -0
  882. package/src/priceClient/README.md +36 -0
  883. package/src/priceClient/adapters/acrossApi.ts +44 -0
  884. package/src/priceClient/adapters/baseAdapter.ts +65 -0
  885. package/src/priceClient/adapters/coingecko.ts +67 -0
  886. package/src/priceClient/adapters/defiLlama.ts +96 -0
  887. package/src/priceClient/adapters/index.ts +3 -0
  888. package/src/priceClient/index.ts +2 -0
  889. package/src/priceClient/priceClient.ts +192 -0
  890. package/src/relayFeeCalculator/README.md +34 -0
  891. package/src/relayFeeCalculator/chain-queries/baseQuery.ts +98 -0
  892. package/src/relayFeeCalculator/chain-queries/factory.ts +58 -0
  893. package/src/relayFeeCalculator/chain-queries/index.ts +3 -0
  894. package/src/relayFeeCalculator/chain-queries/polygon.ts +45 -0
  895. package/src/relayFeeCalculator/index.ts +2 -0
  896. package/src/relayFeeCalculator/relayFeeCalculator.ts +410 -0
  897. package/src/typechain.ts +46 -0
  898. package/src/typeguards/error.ts +7 -0
  899. package/src/typeguards/index.ts +1 -0
  900. package/src/utils/AddressUtils.ts +18 -0
  901. package/src/utils/ArrayUtils.ts +170 -0
  902. package/src/utils/BigNumberUtils.ts +58 -0
  903. package/src/utils/BlockExplorerUtils.ts +91 -0
  904. package/src/utils/BlockUtils.ts +265 -0
  905. package/src/utils/BundleUtils.ts +109 -0
  906. package/src/utils/CachingUtils.ts +56 -0
  907. package/src/utils/DeploymentUtils.ts +5 -0
  908. package/src/utils/DepositUtils.ts +144 -0
  909. package/src/utils/EventUtils.ts +227 -0
  910. package/src/utils/FlowUtils.ts +48 -0
  911. package/src/utils/FormattingUtils.ts +186 -0
  912. package/src/utils/IPFSUtils.ts +48 -0
  913. package/src/utils/JSONUtils.ts +85 -0
  914. package/src/utils/LogUtils.ts +38 -0
  915. package/src/utils/Multicall.ts +64 -0
  916. package/src/utils/NetworkUtils.ts +117 -0
  917. package/src/utils/NumberUtils.ts +17 -0
  918. package/src/utils/ObjectUtils.ts +77 -0
  919. package/src/utils/ReviverUtils.ts +31 -0
  920. package/src/utils/SpokeUtils.ts +372 -0
  921. package/src/utils/TimeUtils.ts +7 -0
  922. package/src/utils/TokenUtils.ts +94 -0
  923. package/src/utils/TypeGuards.ts +15 -0
  924. package/src/utils/TypeUtils.ts +9 -0
  925. package/src/utils/V3Utils.ts +12 -0
  926. package/src/utils/ValidatorUtils.ts +38 -0
  927. package/src/utils/abi/contracts/Multicall3.json +440 -0
  928. package/src/utils/abi/index.ts +33 -0
  929. package/src/utils/common.ts +392 -0
  930. package/src/utils/index.ts +29 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HubPoolClient.js","sourceRoot":"","sources":["../../../src/clients/HubPoolClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,318 @@
1
+ import { BigNumber, Contract, Event, EventFilter } from "ethers";
2
+ import winston from "winston";
3
+ import { AnyObject, DefaultLogLevels, EventSearchConfig, MakeOptional } from "../utils";
4
+ import { Deposit, DepositWithBlock, Fill, FillWithBlock, RealizedLpFee, RelayData, RelayerRefundExecutionWithBlock, RootBundleRelayWithBlock, SlowFillRequestWithBlock, SpeedUp, TokensBridged, V3FundsDepositedEvent } from "../interfaces";
5
+ import { BaseAbstractClient, UpdateFailureReason } from "./BaseAbstractClient";
6
+ import { HubPoolClient } from "./HubPoolClient";
7
+ type SpokePoolUpdateSuccess = {
8
+ success: true;
9
+ currentTime: number;
10
+ oldestTime: number;
11
+ firstDepositId: number;
12
+ latestDepositId: number;
13
+ events: Event[][];
14
+ searchEndBlock: number;
15
+ hasCCTPBridgingEnabled: boolean;
16
+ };
17
+ type SpokePoolUpdateFailure = {
18
+ success: false;
19
+ reason: UpdateFailureReason;
20
+ };
21
+ export type SpokePoolUpdate = SpokePoolUpdateSuccess | SpokePoolUpdateFailure;
22
+ /**
23
+ * SpokePoolClient is a client for the SpokePool contract. It is responsible for querying the SpokePool contract
24
+ * for events and storing them in memory. It also provides some convenience methods for querying the stored events.
25
+ */
26
+ export declare class SpokePoolClient extends BaseAbstractClient {
27
+ readonly logger: winston.Logger;
28
+ readonly spokePool: Contract;
29
+ readonly hubPoolClient: HubPoolClient | null;
30
+ readonly chainId: number;
31
+ deploymentBlock: number;
32
+ protected currentTime: number;
33
+ protected oldestTime: number;
34
+ protected depositHashes: {
35
+ [depositHash: string]: DepositWithBlock;
36
+ };
37
+ protected depositHashesToFills: {
38
+ [depositHash: string]: FillWithBlock[];
39
+ };
40
+ protected speedUps: {
41
+ [depositorAddress: string]: {
42
+ [depositId: number]: SpeedUp[];
43
+ };
44
+ };
45
+ protected slowFillRequests: {
46
+ [relayDataHash: string]: SlowFillRequestWithBlock;
47
+ };
48
+ protected depositRoutes: {
49
+ [originToken: string]: {
50
+ [DestinationChainId: number]: boolean;
51
+ };
52
+ };
53
+ protected tokensBridged: TokensBridged[];
54
+ protected rootBundleRelays: RootBundleRelayWithBlock[];
55
+ protected relayerRefundExecutions: RelayerRefundExecutionWithBlock[];
56
+ protected queryableEventNames: string[];
57
+ protected hasCCTPBridgingEnabled: boolean;
58
+ earliestDepositIdQueried: number;
59
+ latestDepositIdQueried: number;
60
+ firstDepositIdForSpokePool: number;
61
+ lastDepositIdForSpokePool: number;
62
+ fills: {
63
+ [OriginChainId: number]: FillWithBlock[];
64
+ };
65
+ /**
66
+ * Creates a new SpokePoolClient.
67
+ * @param logger A logger instance.
68
+ * @param spokePool The SpokePool contract instance that this client will query.
69
+ * @param hubPoolClient An optional HubPoolClient instance. This is used to fetch spoke data that is not stored on the SpokePool contract but is stored on the HubPool contract.
70
+ * @param chainId The chain ID of the chain that this client is querying.
71
+ * @param deploymentBlock The block number that the SpokePool contract was deployed at.
72
+ * @param eventSearchConfig An optional EventSearchConfig object that controls how far back in history the client will search for events. If not provided, the client will only search for events from the deployment block.
73
+ */
74
+ constructor(logger: winston.Logger, spokePool: Contract, hubPoolClient: HubPoolClient | null, chainId: number, deploymentBlock: number, eventSearchConfig?: MakeOptional<EventSearchConfig, "toBlock">);
75
+ _queryableEventNames(): {
76
+ [eventName: string]: EventFilter;
77
+ };
78
+ /**
79
+ * Retrieves a list of deposits from the SpokePool contract destined for the given destination chain ID.
80
+ * @param destinationChainId The destination chain ID.
81
+ * @returns A list of deposits.
82
+ */
83
+ getDepositsForDestinationChain(destinationChainId: number): DepositWithBlock[];
84
+ /**
85
+ * Retrieves a list of deposits from the SpokePool contract that are associated with this spoke pool.
86
+ * @returns A list of deposits.
87
+ * @note This method returns all deposits, regardless of destination chain ID in sorted order.
88
+ */
89
+ getDeposits(filter?: {
90
+ fromBlock: number;
91
+ toBlock: number;
92
+ }): DepositWithBlock[];
93
+ /**
94
+ * Retrieves a list of the tokens that have been bridged.
95
+ * @returns A list of tokens.
96
+ */
97
+ getTokensBridged(): TokensBridged[];
98
+ /**
99
+ * Certain spoke pools can bridge USDC back to the hub via CCTP. Of these spokes, not all
100
+ * have this feature enabled.
101
+ * @returns Whether or not this spoke pool is capable of bridging USDC via CCTP back to the hub
102
+ */
103
+ isCCTPBridgingEnabled(): boolean;
104
+ /**
105
+ * Retrieves a mapping of tokens and their associated destination chain IDs that can be bridged.
106
+ * @returns A mapping of tokens and their associated destination chain IDs in a nested mapping.
107
+ */
108
+ getDepositRoutes(): {
109
+ [originToken: string]: {
110
+ [DestinationChainId: number]: boolean;
111
+ };
112
+ };
113
+ /**
114
+ * Determines whether a deposit route is enabled for the given origin token and destination chain ID.
115
+ * @param originToken The origin token address.
116
+ * @param destinationChainId The destination chain ID.
117
+ * @returns True if the deposit route is enabled, false otherwise.
118
+ */
119
+ isDepositRouteEnabled(originToken: string, destinationChainId: number): boolean;
120
+ /**
121
+ * Retrieves a list of all the available origin tokens that can be bridged.
122
+ * @returns A list of origin tokens.
123
+ */
124
+ getAllOriginTokens(): string[];
125
+ /**
126
+ * Retrieves a list of fills from the SpokePool contract.
127
+ * @returns A list of fills.
128
+ */
129
+ getFills(): FillWithBlock[];
130
+ /**
131
+ * Retrieves a list of fills from a specific origin chain ID.
132
+ * @param originChainId The origin chain ID.
133
+ * @returns A list of fills.
134
+ */
135
+ getFillsForOriginChain(originChainId: number): FillWithBlock[];
136
+ /**
137
+ * Retrieves a list of fills from a specific relayer address.
138
+ * @param relayer The relayer address.
139
+ * @returns A list of fills.
140
+ */
141
+ getFillsForRelayer(relayer: string): FillWithBlock[];
142
+ /**
143
+ * Retrieves a list of fills from a given block range.
144
+ * @param startingBlock The starting block number.
145
+ * @param endingBlock The ending block number.
146
+ * @returns A list of fills.
147
+ */
148
+ getFillsWithBlockInRange(startingBlock: number, endingBlock: number): FillWithBlock[];
149
+ /**
150
+ * Retrieves a list of root bundle relays from the SpokePool contract.
151
+ * @returns A list of root bundle relays.
152
+ */
153
+ getRootBundleRelays(): RootBundleRelayWithBlock[];
154
+ /**
155
+ * Retrieves the ID of the latest root bundle.
156
+ * @returns The ID of the latest root bundle. This will be 0 if no root bundles have been relayed.
157
+ */
158
+ getLatestRootBundleId(): number;
159
+ /**
160
+ * Retrieves a list of relayer refund executions from the SpokePool contract.
161
+ * @returns A list of relayer refund executions.
162
+ */
163
+ getRelayerRefundExecutions(): RelayerRefundExecutionWithBlock[];
164
+ /**
165
+ * Appends a speed up signature to a specific deposit.
166
+ * @param deposit The deposit to append the speed up signature to.
167
+ * @returns A new deposit instance with the speed up signature appended to the deposit.
168
+ */
169
+ appendMaxSpeedUpSignatureToDeposit(deposit: DepositWithBlock): DepositWithBlock;
170
+ /**
171
+ * Find a deposit based on its deposit ID.
172
+ * @notice If evaluating a fill, be sure to verify it against the resulting deposit.
173
+ * @param depositId The unique ID of the deposit being queried.
174
+ * @returns The corresponding deposit if found, undefined otherwise.
175
+ */
176
+ getDeposit(depositId: number): DepositWithBlock | undefined;
177
+ /**
178
+ * Find a SlowFillRequested event based on its deposit RelayData.
179
+ * @param relayData RelayData field for the SlowFill request.
180
+ * @returns The corresponding SlowFIllRequest event if found, otherwise undefined.
181
+ */
182
+ getSlowFillRequest(relayData: RelayData): SlowFillRequestWithBlock | undefined;
183
+ /**
184
+ * Retrieves a list of slow fill requests for deposits from a specific origin chain ID.
185
+ * @param originChainId The origin chain ID.
186
+ * @returns A list of slow fill requests.
187
+ */
188
+ getSlowFillRequestsForOriginChain(originChainId: number): SlowFillRequestWithBlock[];
189
+ /**
190
+ * Find a corresponding deposit for a given fill.
191
+ * @param fill The fill to find a corresponding deposit for.
192
+ * @returns The corresponding deposit if found, undefined otherwise.
193
+ */
194
+ getDepositForFill(fill: Fill): DepositWithBlock | undefined;
195
+ /**
196
+ * Find the unfilled amount for a given deposit. This is the full deposit amount minus the total filled amount.
197
+ * @param deposit The deposit to find the unfilled amount for.
198
+ * @param fillCount The number of fills that have been applied to this deposit.
199
+ * @param invalidFills The invalid fills that have been applied to this deposit.
200
+ * @returns The unfilled amount.
201
+ */
202
+ getValidUnfilledAmountForDeposit(deposit: Deposit): {
203
+ unfilledAmount: BigNumber;
204
+ fillCount: number;
205
+ invalidFills: Fill[];
206
+ };
207
+ /**
208
+ * Formulate a hash for a given deposit or fill
209
+ * @param event The deposit or fill to formulate a hash for.
210
+ * @returns The hash.
211
+ * @note This hash is used to match deposits and fills together.
212
+ * @note This hash takes the form of: `${depositId}-${originChainId}`.
213
+ */
214
+ getDepositHash(event: {
215
+ depositId: number;
216
+ originChainId: number;
217
+ }): string;
218
+ /**
219
+ * Find the block range that contains the deposit ID. This is a binary search that searches for the block range
220
+ * that contains the deposit ID.
221
+ * @param targetDepositId The target deposit ID to search for.
222
+ * @param initLow The initial lower bound of the block range to search.
223
+ * @param initHigh The initial upper bound of the block range to search.
224
+ * @param maxSearches The maximum number of searches to perform. This is used to prevent infinite loops.
225
+ * @returns The block range that contains the deposit ID.
226
+ * @note // We want to find the block range that satisfies these conditions:
227
+ * // - the low block has deposit count <= targetDepositId
228
+ * // - the high block has a deposit count > targetDepositId.
229
+ * // This way the caller can search for a FundsDeposited event between [low, high] that will always
230
+ * // contain the event emitted when deposit ID was incremented to targetDepositId + 1. This is the same transaction
231
+ * // where the deposit with deposit ID = targetDepositId was created.
232
+ */
233
+ _getBlockRangeForDepositId(targetDepositId: number, initLow: number, initHigh: number, maxSearches: number): Promise<{
234
+ low: number;
235
+ high: number;
236
+ }>;
237
+ /**
238
+ * Finds the deposit id at a specific block number.
239
+ * @param blockTag The block number to search for the deposit ID at.
240
+ * @returns The deposit ID.
241
+ */
242
+ _getDepositIdAtBlock(blockTag: number): Promise<number>;
243
+ /**
244
+ * @notice Return maximum of fill deadline buffer at start and end of block range. This is a contract
245
+ * immutable state variable so we can't query other events to find its updates.
246
+ * @dev V3 deposits have a fill deadline which can be set to a maximum of fillDeadlineBuffer + deposit.block.timestamp.
247
+ * Therefore, we cannot evaluate a block range for expired deposits if the spoke pool client doesn't return us
248
+ * deposits whose block.timestamp is within fillDeadlineBuffer of the end block time. As a conservative check,
249
+ * we verify that the time between the end block timestamp and the first timestamp queried by the
250
+ * spoke pool client is greater than the maximum of the fill deadline buffers at the start and end of the block
251
+ * range. We assume the fill deadline buffer wasn't changed more than once within a bundle.
252
+ * @param startBlock start block
253
+ * @param endBlock end block
254
+ * @returns maximum of fill deadline buffer at start and end block
255
+ */
256
+ getMaxFillDeadlineInRange(startBlock: number, endBlock: number): Promise<number>;
257
+ /**
258
+ * Performs an update to refresh the state of this client. This will query the SpokePool contract for new events
259
+ * and store them in memory. This method is the primary method for updating the state of this client.
260
+ * @param eventsToQuery An optional list of events to query. If not provided, all events will be queried.
261
+ * @returns A Promise that resolves to a SpokePoolUpdate object.
262
+ */
263
+ protected _update(eventsToQuery: string[]): Promise<SpokePoolUpdate>;
264
+ /**
265
+ * A wrapper over the `_update` method that handles errors and logs. This method additionally calls into the
266
+ * HubPoolClient to update the state of this client with data from the HubPool contract.
267
+ * @param eventsToQuery An optional list of events to query. If not provided, all events will be queried.
268
+ * @returns A Promise that resolves to a SpokePoolUpdate object.
269
+ * @note This method is the primary method for updating the state of this client externally.
270
+ * @see _update
271
+ */
272
+ update(eventsToQuery?: string[]): Promise<void>;
273
+ /**
274
+ * Retrieves the l2TokenAddress for a given executed refund leaf.
275
+ * @param chainId The chain ID of the executed refund leaf.
276
+ * @param eventL2Token The l2TokenAddress of the executed refund leaf.
277
+ * @returns The l2TokenAddress of the executed refund leaf.
278
+ */
279
+ static getExecutedRefundLeafL2Token(chainId: number, eventL2Token: string): string;
280
+ /**
281
+ * Computes the realized LP fee percentage for a given deposit.
282
+ * @param depositEvent The deposit event to compute the realized LP fee percentage for.
283
+ * @returns The realized LP fee percentage.
284
+ */
285
+ protected computeRealizedLpFeePct(depositEvent: V3FundsDepositedEvent): Promise<RealizedLpFee>;
286
+ /**
287
+ * Computes the realized LP fee percentage for a batch of deposits.
288
+ * @dev Computing in batch opens up for efficiencies, e.g. in quoteTimestamp -> blockNumber resolution.
289
+ * @param depositEvents The array of deposit events to compute the realized LP fee percentage for.
290
+ * @returns The array of realized LP fee percentages and associated HubPool block numbers.
291
+ */
292
+ protected batchComputeRealizedLpFeePct(depositEvents: V3FundsDepositedEvent[]): Promise<RealizedLpFee[]>;
293
+ /**
294
+ * Retrieves the destination token for a given deposit.
295
+ * @param deposit The deposit to retrieve the destination token for.
296
+ * @returns The destination token.
297
+ */
298
+ protected getDestinationTokenForDeposit(deposit: DepositWithBlock): string;
299
+ /**
300
+ * Performs a log for a specific level, message and data.
301
+ * @param level The log level.
302
+ * @param message The log message.
303
+ * @param data Optional data to log.
304
+ */
305
+ protected log(level: DefaultLogLevels, message: string, data?: AnyObject): void;
306
+ /**
307
+ * Retrieves the current time from the SpokePool contract.
308
+ * @returns The current time, which will be 0 if there has been no update() yet.
309
+ */
310
+ getCurrentTime(): number;
311
+ /**
312
+ * Retrieves the oldest time searched on the SpokePool contract.
313
+ * @returns The oldest time searched, which will be 0 if there has been no update() yet.
314
+ */
315
+ getOldestTime(): number;
316
+ findDeposit(depositId: number, destinationChainId: number, depositor: string): Promise<DepositWithBlock>;
317
+ }
318
+ export {};