@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,377 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AcrossConfigStoreClient = exports.GLOBAL_CONFIG_STORE_KEYS = exports.DEFAULT_CONFIG_STORE_VERSION = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var sdk_1 = require("@uma/sdk");
6
+ var assert_1 = tslib_1.__importDefault(require("assert"));
7
+ var typeguards_1 = require("../../typeguards");
8
+ var utils_1 = require("../../utils");
9
+ var constants_1 = require("../../constants");
10
+ var JSONUtils_1 = require("../../utils/JSONUtils");
11
+ var BaseAbstractClient_1 = require("../BaseAbstractClient");
12
+ exports.DEFAULT_CONFIG_STORE_VERSION = 0;
13
+ var GLOBAL_CONFIG_STORE_KEYS;
14
+ (function (GLOBAL_CONFIG_STORE_KEYS) {
15
+ GLOBAL_CONFIG_STORE_KEYS["MAX_RELAYER_REPAYMENT_LEAF_SIZE"] = "MAX_RELAYER_REPAYMENT_LEAF_SIZE";
16
+ GLOBAL_CONFIG_STORE_KEYS["MAX_POOL_REBALANCE_LEAF_SIZE"] = "MAX_POOL_REBALANCE_LEAF_SIZE";
17
+ GLOBAL_CONFIG_STORE_KEYS["VERSION"] = "VERSION";
18
+ GLOBAL_CONFIG_STORE_KEYS["DISABLED_CHAINS"] = "DISABLED_CHAINS";
19
+ GLOBAL_CONFIG_STORE_KEYS["CHAIN_ID_INDICES"] = "CHAIN_ID_INDICES";
20
+ })(GLOBAL_CONFIG_STORE_KEYS || (exports.GLOBAL_CONFIG_STORE_KEYS = GLOBAL_CONFIG_STORE_KEYS = {}));
21
+ var AcrossConfigStoreClient = (function (_super) {
22
+ tslib_1.__extends(AcrossConfigStoreClient, _super);
23
+ function AcrossConfigStoreClient(logger, configStore, eventSearchConfig, configStoreVersion) {
24
+ if (eventSearchConfig === void 0) { eventSearchConfig = { fromBlock: 0, maxBlockLookBack: 0 }; }
25
+ var _this = _super.call(this, eventSearchConfig) || this;
26
+ _this.logger = logger;
27
+ _this.configStore = configStore;
28
+ _this.configStoreVersion = configStoreVersion;
29
+ _this.cumulativeRateModelUpdates = [];
30
+ _this.ubaConfigUpdates = [];
31
+ _this.cumulativeRouteRateModelUpdates = [];
32
+ _this.cumulativeMaxRefundCountUpdates = [];
33
+ _this.cumulativeMaxL1TokenCountUpdates = [];
34
+ _this.chainIdIndicesUpdates = [];
35
+ _this.cumulativeSpokeTargetBalanceUpdates = [];
36
+ _this.cumulativeConfigStoreVersionUpdates = [];
37
+ _this.cumulativeDisabledChainUpdates = [];
38
+ _this.hasLatestConfigStoreVersion = false;
39
+ _this.firstBlockToSearch = eventSearchConfig.fromBlock;
40
+ _this.latestBlockSearched = 0;
41
+ _this.rateModelDictionary = new sdk_1.across.rateModel.RateModelDictionary();
42
+ return _this;
43
+ }
44
+ AcrossConfigStoreClient.prototype.getRateModelForBlockNumber = function (l1Token, originChainId, destinationChainId, blockNumber) {
45
+ if (blockNumber === void 0) { blockNumber = undefined; }
46
+ var route = "".concat(originChainId, "-").concat(destinationChainId);
47
+ var routeRateModel = this.getRouteRateModelForBlockNumber(l1Token, route, blockNumber);
48
+ return routeRateModel !== null && routeRateModel !== void 0 ? routeRateModel : this.rateModelDictionary.getRateModelForBlockNumber(l1Token, blockNumber);
49
+ };
50
+ AcrossConfigStoreClient.prototype.getRouteRateModelForBlockNumber = function (l1Token, route, blockNumber) {
51
+ if (blockNumber === void 0) { blockNumber = undefined; }
52
+ var config = (0, utils_1.sortEventsDescending)(this.cumulativeRouteRateModelUpdates).find(function (config) { return config.blockNumber <= (blockNumber !== null && blockNumber !== void 0 ? blockNumber : 0) && config.l1Token === l1Token; });
53
+ if ((config === null || config === void 0 ? void 0 : config.routeRateModel[route]) === undefined) {
54
+ return undefined;
55
+ }
56
+ return sdk_1.across.rateModel.parseAndReturnRateModelFromString(config.routeRateModel[route]);
57
+ };
58
+ AcrossConfigStoreClient.prototype.implicitChainIdIndices = function (chainId) {
59
+ (0, assert_1.default)((0, utils_1.isDefined)(chainId), "ConfigStoreClient used before update");
60
+ return constants_1.PROTOCOL_DEFAULT_CHAIN_ID_INDICES[0] === chainId ? constants_1.PROTOCOL_DEFAULT_CHAIN_ID_INDICES : [chainId];
61
+ };
62
+ AcrossConfigStoreClient.prototype.getChainIdIndicesForBlock = function (blockNumber) {
63
+ var _a;
64
+ if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
65
+ var chainIdUpdates = (0, utils_1.sortEventsDescending)(this.chainIdIndicesUpdates);
66
+ var chainIdIndices = (_a = chainIdUpdates.find(function (update) { return update.blockNumber <= blockNumber; })) === null || _a === void 0 ? void 0 : _a.value;
67
+ return chainIdIndices !== null && chainIdIndices !== void 0 ? chainIdIndices : this.implicitChainIdIndices(this.chainId);
68
+ };
69
+ AcrossConfigStoreClient.prototype.getSpokeTargetBalancesForBlock = function (l1Token, chainId, blockNumber) {
70
+ var _a;
71
+ if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
72
+ var config = (0, utils_1.sortEventsDescending)(this.cumulativeSpokeTargetBalanceUpdates).find(function (config) { return config.l1Token === l1Token && config.blockNumber <= blockNumber; });
73
+ var targetBalance = (_a = config === null || config === void 0 ? void 0 : config.spokeTargetBalances) === null || _a === void 0 ? void 0 : _a[chainId];
74
+ return targetBalance || { target: (0, utils_1.toBN)(0), threshold: (0, utils_1.toBN)(0) };
75
+ };
76
+ AcrossConfigStoreClient.prototype.getMaxRefundCountForRelayerRefundLeafForBlock = function (blockNumber) {
77
+ if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
78
+ var config = (0, utils_1.sortEventsDescending)(this.cumulativeMaxRefundCountUpdates).find(function (config) { return config.blockNumber <= blockNumber; });
79
+ if (!config) {
80
+ throw new Error("Could not find MaxRefundCount before block ".concat(blockNumber));
81
+ }
82
+ return Number(config.value);
83
+ };
84
+ AcrossConfigStoreClient.prototype.getMaxL1TokenCountForPoolRebalanceLeafForBlock = function (blockNumber) {
85
+ if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
86
+ var config = (0, utils_1.sortEventsDescending)(this.cumulativeMaxL1TokenCountUpdates).find(function (config) { return config.blockNumber <= blockNumber; });
87
+ if (!config) {
88
+ throw new Error("Could not find MaxL1TokenCount before block ".concat(blockNumber));
89
+ }
90
+ return Number(config.value);
91
+ };
92
+ AcrossConfigStoreClient.prototype.getEnabledChainsInBlockRange = function (fromBlock, toBlock) {
93
+ if (toBlock === void 0) { toBlock = Number.MAX_SAFE_INTEGER; }
94
+ if (fromBlock > toBlock) {
95
+ throw new Error("Invalid block range: fromBlock ".concat(fromBlock, " > toBlock ").concat(toBlock));
96
+ }
97
+ var disabledChainsAtFromBlock = this.getDisabledChainsForBlock(fromBlock);
98
+ var allPossibleChains = this.getChainIdIndicesForBlock(toBlock);
99
+ var enabledChainsInBlockRange = allPossibleChains.filter(function (chainId) { return !disabledChainsAtFromBlock.includes(chainId); });
100
+ this.cumulativeDisabledChainUpdates
101
+ .filter(function (e) { return e.blockNumber <= toBlock && e.blockNumber >= fromBlock; })
102
+ .forEach(function (e) {
103
+ var newDisabledSet = e.chainIds;
104
+ disabledChainsAtFromBlock.forEach(function (disabledChain) {
105
+ if (!newDisabledSet.includes(disabledChain)) {
106
+ enabledChainsInBlockRange.push(disabledChain);
107
+ }
108
+ });
109
+ });
110
+ return allPossibleChains.filter(function (chainId) { return enabledChainsInBlockRange.includes(chainId); });
111
+ };
112
+ AcrossConfigStoreClient.prototype.getEnabledChains = function (block) {
113
+ if (block === void 0) { block = Number.MAX_SAFE_INTEGER; }
114
+ var currentlyDisabledChains = this.getDisabledChainsForBlock(block);
115
+ return this.getChainIdIndicesForBlock(block).filter(function (chainId) { return !currentlyDisabledChains.includes(chainId); });
116
+ };
117
+ AcrossConfigStoreClient.prototype.getDisabledChainsForBlock = function (blockNumber) {
118
+ var _a, _b;
119
+ if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
120
+ return ((_b = (_a = (0, utils_1.sortEventsDescending)(this.cumulativeDisabledChainUpdates).find(function (config) { return config.blockNumber <= blockNumber; })) === null || _a === void 0 ? void 0 : _a.chainIds) !== null && _b !== void 0 ? _b : []);
121
+ };
122
+ AcrossConfigStoreClient.prototype.getConfigStoreVersionForTimestamp = function (timestamp) {
123
+ if (timestamp === void 0) { timestamp = Number.MAX_SAFE_INTEGER; }
124
+ var config = this.cumulativeConfigStoreVersionUpdates.find(function (config) { return config.timestamp <= timestamp; });
125
+ return (0, utils_1.isDefined)(config) ? Number(config.value) : exports.DEFAULT_CONFIG_STORE_VERSION;
126
+ };
127
+ AcrossConfigStoreClient.prototype.getConfigStoreVersionForBlock = function (blockNumber) {
128
+ if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
129
+ var config = this.cumulativeConfigStoreVersionUpdates.find(function (config) { return config.blockNumber <= blockNumber; });
130
+ return (0, utils_1.isDefined)(config) ? Number(config.value) : exports.DEFAULT_CONFIG_STORE_VERSION;
131
+ };
132
+ AcrossConfigStoreClient.prototype.hasValidConfigStoreVersionForTimestamp = function (timestamp) {
133
+ if (timestamp === void 0) { timestamp = Number.MAX_SAFE_INTEGER; }
134
+ var version = this.getConfigStoreVersionForTimestamp(timestamp);
135
+ return this.configStoreVersion >= version;
136
+ };
137
+ AcrossConfigStoreClient.prototype.resolveChainId = function () {
138
+ var _a;
139
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
140
+ var _b;
141
+ return tslib_1.__generator(this, function (_c) {
142
+ switch (_c.label) {
143
+ case 0:
144
+ if (!((_a = this.chainId) !== null && _a !== void 0)) return [3, 1];
145
+ _b = _a;
146
+ return [3, 3];
147
+ case 1: return [4, this.configStore.provider.getNetwork()];
148
+ case 2:
149
+ _b = (_c.sent()).chainId;
150
+ _c.label = 3;
151
+ case 3: return [2, _b];
152
+ }
153
+ });
154
+ });
155
+ };
156
+ AcrossConfigStoreClient.prototype._update = function () {
157
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
158
+ var chainId, searchConfig, reason, _a, updatedTokenConfigEvents, updatedGlobalConfigEvents, globalConfigUpdateTimes;
159
+ var _this = this;
160
+ return tslib_1.__generator(this, function (_b) {
161
+ switch (_b.label) {
162
+ case 0: return [4, this.resolveChainId()];
163
+ case 1:
164
+ chainId = _b.sent();
165
+ return [4, this.updateSearchConfig(this.configStore.provider)];
166
+ case 2:
167
+ searchConfig = _b.sent();
168
+ if ((0, BaseAbstractClient_1.isUpdateFailureReason)(searchConfig)) {
169
+ reason = searchConfig;
170
+ return [2, { success: false, reason: reason }];
171
+ }
172
+ this.logger.debug({ at: "AcrossConfigStore", message: "Updating ConfigStore client", searchConfig: searchConfig });
173
+ return [4, Promise.all([
174
+ (0, utils_1.paginatedEventQuery)(this.configStore, this.configStore.filters.UpdatedTokenConfig(), searchConfig),
175
+ (0, utils_1.paginatedEventQuery)(this.configStore, this.configStore.filters.UpdatedGlobalConfig(), searchConfig),
176
+ ])];
177
+ case 3:
178
+ _a = _b.sent(), updatedTokenConfigEvents = _a[0], updatedGlobalConfigEvents = _a[1];
179
+ [updatedTokenConfigEvents, updatedGlobalConfigEvents].forEach(function (events) { return (0, utils_1.sortEventsAscendingInPlace)(events); });
180
+ return [4, Promise.all(updatedGlobalConfigEvents.map(function (event) { return _this.configStore.provider.getBlock(event.blockNumber); }))];
181
+ case 4:
182
+ globalConfigUpdateTimes = (_b.sent()).map(function (block) { return block.timestamp; });
183
+ return [2, {
184
+ success: true,
185
+ chainId: chainId,
186
+ searchEndBlock: searchConfig.toBlock,
187
+ events: {
188
+ updatedTokenConfigEvents: updatedTokenConfigEvents,
189
+ updatedGlobalConfigEvents: updatedGlobalConfigEvents,
190
+ globalConfigUpdateTimes: globalConfigUpdateTimes,
191
+ },
192
+ }];
193
+ }
194
+ });
195
+ });
196
+ };
197
+ AcrossConfigStoreClient.prototype.update = function () {
198
+ var _a, _b, _c, _d, _e;
199
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
200
+ var result, chainId, _f, updatedTokenConfigEvents, updatedGlobalConfigEvents, globalConfigUpdateTimes, _i, updatedTokenConfigEvents_1, event_1, args, parsedValue, l1Token, value, key, passedArgs, rateModelForToken, targetBalances, routeRateModel, err_1, maxWarnAge, _g, errMsg, _loop_1, this_1, i;
201
+ return tslib_1.__generator(this, function (_h) {
202
+ switch (_h.label) {
203
+ case 0: return [4, this._update()];
204
+ case 1:
205
+ result = _h.sent();
206
+ if (!result.success) {
207
+ if (result.reason !== BaseAbstractClient_1.UpdateFailureReason.AlreadyUpdated) {
208
+ throw new Error("Unable to update ConfigStoreClient: ".concat(result.reason));
209
+ }
210
+ return [2];
211
+ }
212
+ chainId = result.chainId;
213
+ _f = result.events, updatedTokenConfigEvents = _f.updatedTokenConfigEvents, updatedGlobalConfigEvents = _f.updatedGlobalConfigEvents, globalConfigUpdateTimes = _f.globalConfigUpdateTimes;
214
+ (0, assert_1.default)(updatedGlobalConfigEvents.length === globalConfigUpdateTimes.length, "GlobalConfigUpdate events mismatch (".concat(updatedGlobalConfigEvents.length, " != ").concat(globalConfigUpdateTimes.length, ")"));
215
+ _i = 0, updatedTokenConfigEvents_1 = updatedTokenConfigEvents;
216
+ _h.label = 2;
217
+ case 2:
218
+ if (!(_i < updatedTokenConfigEvents_1.length)) return [3, 7];
219
+ event_1 = updatedTokenConfigEvents_1[_i];
220
+ args = tslib_1.__assign({}, (0, utils_1.spreadEventWithBlockNumber)(event_1));
221
+ _h.label = 3;
222
+ case 3:
223
+ _h.trys.push([3, 4, , 6]);
224
+ parsedValue = (0, JSONUtils_1.parseJSONWithNumericString)(args.value);
225
+ l1Token = args.key;
226
+ value = args.value, key = args.key, passedArgs = tslib_1.__rest(args, ["value", "key"]);
227
+ if ((parsedValue === null || parsedValue === void 0 ? void 0 : parsedValue.rateModel) !== undefined) {
228
+ rateModelForToken = JSON.stringify(parsedValue.rateModel);
229
+ this.cumulativeRateModelUpdates.push(tslib_1.__assign(tslib_1.__assign({}, passedArgs), { rateModel: rateModelForToken, l1Token: l1Token }));
230
+ if (parsedValue === null || parsedValue === void 0 ? void 0 : parsedValue.spokeTargetBalances) {
231
+ targetBalances = Object.fromEntries(Object.entries(parsedValue.spokeTargetBalances).map(function (_a) {
232
+ var chainId = _a[0], targetBalance = _a[1];
233
+ var target = (0, utils_1.max)((0, utils_1.toBN)(targetBalance.target), (0, utils_1.toBN)(0));
234
+ var threshold = (0, utils_1.max)((0, utils_1.toBN)(targetBalance.threshold), (0, utils_1.toBN)(0));
235
+ return [chainId, { target: target, threshold: threshold }];
236
+ }));
237
+ this.cumulativeSpokeTargetBalanceUpdates.push(tslib_1.__assign(tslib_1.__assign({}, passedArgs), { spokeTargetBalances: targetBalances, l1Token: l1Token }));
238
+ }
239
+ else {
240
+ this.cumulativeSpokeTargetBalanceUpdates.push(tslib_1.__assign(tslib_1.__assign({}, passedArgs), { spokeTargetBalances: {}, l1Token: l1Token }));
241
+ }
242
+ if (parsedValue === null || parsedValue === void 0 ? void 0 : parsedValue.routeRateModel) {
243
+ routeRateModel = Object.fromEntries(Object.entries(parsedValue.routeRateModel).map(function (_a) {
244
+ var path = _a[0], routeRateModel = _a[1];
245
+ return [path, JSON.stringify(routeRateModel)];
246
+ }));
247
+ this.cumulativeRouteRateModelUpdates.push(tslib_1.__assign(tslib_1.__assign({}, passedArgs), { routeRateModel: routeRateModel, l1Token: l1Token }));
248
+ }
249
+ else {
250
+ this.cumulativeRouteRateModelUpdates.push(tslib_1.__assign(tslib_1.__assign({}, passedArgs), { routeRateModel: {}, l1Token: l1Token }));
251
+ }
252
+ }
253
+ return [3, 6];
254
+ case 4:
255
+ err_1 = _h.sent();
256
+ _g = (24 * 60 * 60);
257
+ return [4, sdk_1.utils.averageBlockTimeSeconds()];
258
+ case 5:
259
+ maxWarnAge = _g / (_h.sent());
260
+ if (result.searchEndBlock - event_1.blockNumber < maxWarnAge) {
261
+ errMsg = (0, typeguards_1.isError)(err_1) ? err_1.message : "unknown error";
262
+ this.logger.warn({
263
+ at: "ConfigStore::update",
264
+ message: "Caught error during ConfigStore update: ".concat(errMsg),
265
+ update: args,
266
+ });
267
+ }
268
+ else {
269
+ this.logger.debug({
270
+ at: "ConfigStoreClient::update",
271
+ message: "Skipping invalid historical update at block ".concat(event_1.blockNumber),
272
+ });
273
+ }
274
+ return [3, 6];
275
+ case 6:
276
+ _i++;
277
+ return [3, 2];
278
+ case 7:
279
+ (0, utils_1.sortEventsAscendingInPlace)(this.ubaConfigUpdates);
280
+ _loop_1 = function (i) {
281
+ var event_2 = updatedGlobalConfigEvents[i];
282
+ var args = tslib_1.__assign({ blockNumber: event_2.blockNumber, transactionIndex: event_2.transactionIndex, logIndex: event_2.logIndex }, (0, utils_1.spreadEvent)(event_2.args));
283
+ if (args.key === (0, utils_1.utf8ToHex)(GLOBAL_CONFIG_STORE_KEYS.MAX_RELAYER_REPAYMENT_LEAF_SIZE)) {
284
+ if (!isNaN(args.value)) {
285
+ this_1.cumulativeMaxRefundCountUpdates.push(args);
286
+ }
287
+ }
288
+ else if (args.key === (0, utils_1.utf8ToHex)(GLOBAL_CONFIG_STORE_KEYS.CHAIN_ID_INDICES)) {
289
+ try {
290
+ var chainIndices_1 = JSON.parse(args.value.replace(/['"\s]/g, ""));
291
+ if (!(0, utils_1.isArrayOf)(chainIndices_1, utils_1.isPositiveInteger)) {
292
+ this_1.logger.warn({ at: "ConfigStore", message: "The array ".concat(chainIndices_1, " is invalid.") });
293
+ return "continue";
294
+ }
295
+ if (new Set(chainIndices_1).size !== chainIndices_1.length) {
296
+ this_1.logger.warn({
297
+ at: "ConfigStore",
298
+ message: "The array ".concat(chainIndices_1, " contains duplicates making it invalid."),
299
+ });
300
+ return "continue";
301
+ }
302
+ var previousUpdate = (_b = (_a = this_1.chainIdIndicesUpdates.at(-1)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : this_1.implicitChainIdIndices(chainId);
303
+ if (!previousUpdate.every(function (chainId, idx) { return chainIndices_1[idx] === chainId; })) {
304
+ this_1.logger.warn({
305
+ at: "ConfigStoreClient#update",
306
+ message: "The array ".concat(chainIndices_1, " is invalid. It must be a superset of the previous array ").concat(previousUpdate),
307
+ });
308
+ return "continue";
309
+ }
310
+ this_1.chainIdIndicesUpdates.push(tslib_1.__assign(tslib_1.__assign({}, args), { value: chainIndices_1 }));
311
+ }
312
+ catch (e) {
313
+ this_1.logger.warn({ at: "ConfigStore::update", message: "Failed to parse chain ID indices: ".concat(args.value) });
314
+ }
315
+ }
316
+ else if (args.key === (0, utils_1.utf8ToHex)(GLOBAL_CONFIG_STORE_KEYS.MAX_POOL_REBALANCE_LEAF_SIZE)) {
317
+ if (!isNaN(args.value)) {
318
+ this_1.cumulativeMaxL1TokenCountUpdates.push(args);
319
+ }
320
+ }
321
+ else if (args.key === (0, utils_1.utf8ToHex)(GLOBAL_CONFIG_STORE_KEYS.VERSION)) {
322
+ if (isNaN(args.value)) {
323
+ return "continue";
324
+ }
325
+ var value = Number(args.value);
326
+ if (!Number.isInteger(value)) {
327
+ return "continue";
328
+ }
329
+ var lastValue = Number((_d = (_c = this_1.cumulativeConfigStoreVersionUpdates[0]) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : exports.DEFAULT_CONFIG_STORE_VERSION);
330
+ if (value <= lastValue) {
331
+ return "continue";
332
+ }
333
+ this_1.cumulativeConfigStoreVersionUpdates = tslib_1.__spreadArray([
334
+ tslib_1.__assign(tslib_1.__assign({}, args), { timestamp: globalConfigUpdateTimes[i] })
335
+ ], this_1.cumulativeConfigStoreVersionUpdates, true);
336
+ }
337
+ else if (args.key === (0, utils_1.utf8ToHex)(GLOBAL_CONFIG_STORE_KEYS.DISABLED_CHAINS)) {
338
+ try {
339
+ var chainIds = this_1.filterDisabledChains(JSON.parse(args.value));
340
+ this_1.cumulativeDisabledChainUpdates.push(tslib_1.__assign(tslib_1.__assign({}, args), { chainIds: chainIds }));
341
+ }
342
+ catch (err) {
343
+ }
344
+ }
345
+ else {
346
+ return "continue";
347
+ }
348
+ };
349
+ this_1 = this;
350
+ for (i = 0; i < updatedGlobalConfigEvents.length; i++) {
351
+ _loop_1(i);
352
+ }
353
+ this.rateModelDictionary.updateWithEvents(this.cumulativeRateModelUpdates);
354
+ this.hasLatestConfigStoreVersion = this.hasValidConfigStoreVersionForTimestamp();
355
+ this.latestBlockSearched = result.searchEndBlock;
356
+ this.firstBlockToSearch = result.searchEndBlock + 1;
357
+ this.eventSearchConfig.toBlock = undefined;
358
+ this.chainId = (_e = this.chainId) !== null && _e !== void 0 ? _e : chainId;
359
+ this.isUpdated = true;
360
+ this.logger.debug({ at: "ConfigStore", message: "ConfigStore client updated!" });
361
+ return [2];
362
+ }
363
+ });
364
+ });
365
+ };
366
+ AcrossConfigStoreClient.prototype.filterDisabledChains = function (disabledChains) {
367
+ return disabledChains.filter(function (chainId) { return !isNaN(chainId) && Number.isInteger(chainId) && chainId !== 1; });
368
+ };
369
+ AcrossConfigStoreClient.prototype.getUBAConfig = function (l1TokenAddress, blockNumber) {
370
+ if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
371
+ var config = (0, utils_1.findLast)(this.ubaConfigUpdates, function (config) { return config.l1Token === l1TokenAddress && config.blockNumber <= blockNumber; });
372
+ return config === null || config === void 0 ? void 0 : config.config;
373
+ };
374
+ return AcrossConfigStoreClient;
375
+ }(BaseAbstractClient_1.BaseAbstractClient));
376
+ exports.AcrossConfigStoreClient = AcrossConfigStoreClient;
377
+ //# sourceMappingURL=AcrossConfigStoreClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcrossConfigStoreClient.js","sourceRoot":"","sources":["../../../../src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./AcrossConfigStoreClient";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./AcrossConfigStoreClient"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/AcrossConfigStoreClient/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C"}
@@ -0,0 +1,22 @@
1
+ import { providers } from "ethers";
2
+ import { CachingMechanismInterface } from "../interfaces";
3
+ import { EventSearchConfig, MakeOptional } from "../utils";
4
+ export declare enum UpdateFailureReason {
5
+ AlreadyUpdated = 0,
6
+ BadRequest = 1,
7
+ RPCError = 2
8
+ }
9
+ export declare function isUpdateFailureReason(x: EventSearchConfig | UpdateFailureReason): x is UpdateFailureReason;
10
+ export declare abstract class BaseAbstractClient {
11
+ readonly eventSearchConfig: MakeOptional<EventSearchConfig, "toBlock">;
12
+ protected cachingMechanism?: CachingMechanismInterface | undefined;
13
+ protected _isUpdated: boolean;
14
+ firstBlockToSearch: number;
15
+ latestBlockSearched: number;
16
+ constructor(eventSearchConfig?: MakeOptional<EventSearchConfig, "toBlock">, cachingMechanism?: CachingMechanismInterface | undefined);
17
+ get isUpdated(): boolean;
18
+ set isUpdated(value: boolean);
19
+ updateSearchConfig(provider: providers.Provider): Promise<EventSearchConfig | UpdateFailureReason>;
20
+ protected assertUpdated(): void;
21
+ protected hasCachingMechanism(): boolean;
22
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseAbstractClient = exports.isUpdateFailureReason = exports.UpdateFailureReason = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var utils_1 = require("../utils");
6
+ var UpdateFailureReason;
7
+ (function (UpdateFailureReason) {
8
+ UpdateFailureReason[UpdateFailureReason["AlreadyUpdated"] = 0] = "AlreadyUpdated";
9
+ UpdateFailureReason[UpdateFailureReason["BadRequest"] = 1] = "BadRequest";
10
+ UpdateFailureReason[UpdateFailureReason["RPCError"] = 2] = "RPCError";
11
+ })(UpdateFailureReason || (exports.UpdateFailureReason = UpdateFailureReason = {}));
12
+ function isUpdateFailureReason(x) {
13
+ return Number.isInteger(x);
14
+ }
15
+ exports.isUpdateFailureReason = isUpdateFailureReason;
16
+ var BaseAbstractClient = (function () {
17
+ function BaseAbstractClient(eventSearchConfig, cachingMechanism) {
18
+ if (eventSearchConfig === void 0) { eventSearchConfig = { fromBlock: 0, maxBlockLookBack: 0 }; }
19
+ this.eventSearchConfig = eventSearchConfig;
20
+ this.cachingMechanism = cachingMechanism;
21
+ this.firstBlockToSearch = 0;
22
+ this.latestBlockSearched = 0;
23
+ this._isUpdated = false;
24
+ }
25
+ Object.defineProperty(BaseAbstractClient.prototype, "isUpdated", {
26
+ get: function () {
27
+ return this._isUpdated;
28
+ },
29
+ set: function (value) {
30
+ if (this._isUpdated === true && !value) {
31
+ throw new Error("Cannot set isUpdated to false once it is true");
32
+ }
33
+ this._isUpdated = value;
34
+ },
35
+ enumerable: false,
36
+ configurable: true
37
+ });
38
+ BaseAbstractClient.prototype.updateSearchConfig = function (provider) {
39
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
40
+ var fromBlock, toBlock, maxBlockLookBack;
41
+ return tslib_1.__generator(this, function (_a) {
42
+ switch (_a.label) {
43
+ case 0:
44
+ fromBlock = this.firstBlockToSearch;
45
+ toBlock = this.eventSearchConfig.toBlock;
46
+ if (!(0, utils_1.isDefined)(toBlock)) return [3, 1];
47
+ if (fromBlock > toBlock) {
48
+ throw new Error("Invalid event search config fromBlock (".concat(fromBlock, ") > toBlock (").concat(toBlock, ")"));
49
+ }
50
+ return [3, 3];
51
+ case 1: return [4, provider.getBlockNumber()];
52
+ case 2:
53
+ toBlock = _a.sent();
54
+ if (toBlock < fromBlock) {
55
+ return [2, UpdateFailureReason.AlreadyUpdated];
56
+ }
57
+ _a.label = 3;
58
+ case 3:
59
+ maxBlockLookBack = this.eventSearchConfig.maxBlockLookBack;
60
+ return [2, { fromBlock: fromBlock, toBlock: toBlock, maxBlockLookBack: maxBlockLookBack }];
61
+ }
62
+ });
63
+ });
64
+ };
65
+ BaseAbstractClient.prototype.assertUpdated = function () {
66
+ if (!this.isUpdated) {
67
+ throw new Error("Client not updated");
68
+ }
69
+ };
70
+ BaseAbstractClient.prototype.hasCachingMechanism = function () {
71
+ return (0, utils_1.isDefined)(this.cachingMechanism);
72
+ };
73
+ return BaseAbstractClient;
74
+ }());
75
+ exports.BaseAbstractClient = BaseAbstractClient;
76
+ //# sourceMappingURL=BaseAbstractClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseAbstractClient.js","sourceRoot":"","sources":["../../../src/clients/BaseAbstractClient.ts"],"names":[],"mappings":";;;;AAEA,kCAAsE;AAEtE,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,iFAAc,CAAA;IACd,yEAAU,CAAA;IACV,qEAAQ,CAAA;AACV,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B;AAED,SAAgB,qBAAqB,CAAC,CAA0C;IAC9E,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAFD,sDAEC;AAKD;IASE,4BACW,iBAAqG,EACpG,gBAA4C;QAD7C,kCAAA,EAAA,sBAAkE,SAAS,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;QAArG,sBAAiB,GAAjB,iBAAiB,CAAoF;QACpG,qBAAgB,GAAhB,gBAAgB,CAA4B;QATjD,uBAAkB,GAAG,CAAC,CAAC;QACvB,wBAAmB,GAAG,CAAC,CAAC;QAU7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAMD,sBAAW,yCAAS;aAApB;YACE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;aAOD,UAAqB,KAAc;YACjC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;gBACtC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;aAClE;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;;;OAZA;IAoBY,+CAAkB,GAA/B,UAAgC,QAA4B;;;;;;wBACpD,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC;wBACpC,OAAO,GAAK,IAAI,CAAC,iBAAiB,QAA3B,CAA4B;6BACrC,IAAA,iBAAS,EAAC,OAAO,CAAC,EAAlB,cAAkB;wBACpB,IAAI,SAAS,GAAG,OAAO,EAAE;4BACvB,MAAM,IAAI,KAAK,CAAC,iDAA0C,SAAS,0BAAgB,OAAO,MAAG,CAAC,CAAC;yBAChG;;4BAES,WAAM,QAAQ,CAAC,cAAc,EAAE,EAAA;;wBAAzC,OAAO,GAAG,SAA+B,CAAC;wBAC1C,IAAI,OAAO,GAAG,SAAS,EAAE;4BACvB,WAAO,mBAAmB,CAAC,cAAc,EAAC;yBAC3C;;;wBAGK,gBAAgB,GAAK,IAAI,CAAC,iBAAiB,iBAA3B,CAA4B;wBACpD,WAAO,EAAE,SAAS,WAAA,EAAE,OAAO,SAAA,EAAE,gBAAgB,kBAAA,EAAE,EAAC;;;;KACjD;IAKS,0CAAa,GAAvB;QACE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvC;IACH,CAAC;IAMS,gDAAmB,GAA7B;QACE,OAAO,IAAA,iBAAS,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IACH,yBAAC;AAAD,CAAC,AA5ED,IA4EC;AA5EqB,gDAAkB"}
@@ -0,0 +1,111 @@
1
+ import { BigNumber, Contract, Event, EventFilter } from "ethers";
2
+ import winston from "winston";
3
+ import { CachingMechanismInterface, CancelledRootBundle, CrossChainContractsSet, Deposit, DepositWithBlock, DestinationTokenWithBlock, DisputedRootBundle, ExecutedRootBundle, L1Token, LpToken, PendingRootBundle, ProposedRootBundle, RealizedLpFee, TokenRunningBalance } from "../interfaces";
4
+ import { BlockFinder, EventSearchConfig, MakeOptional } from "../utils";
5
+ import { AcrossConfigStoreClient as ConfigStoreClient } from "./AcrossConfigStoreClient/AcrossConfigStoreClient";
6
+ import { BaseAbstractClient, UpdateFailureReason } from "./BaseAbstractClient";
7
+ type HubPoolUpdateSuccess = {
8
+ success: true;
9
+ currentTime: number;
10
+ pendingRootBundleProposal: PendingRootBundle;
11
+ events: Record<string, Event[]>;
12
+ searchEndBlock: number;
13
+ };
14
+ type HubPoolUpdateFailure = {
15
+ success: false;
16
+ reason: UpdateFailureReason;
17
+ };
18
+ export type HubPoolUpdate = HubPoolUpdateSuccess | HubPoolUpdateFailure;
19
+ type HubPoolEvent = "SetPoolRebalanceRoute" | "L1TokenEnabledForLiquidityProvision" | "ProposeRootBundle" | "RootBundleCanceled" | "RootBundleDisputed" | "RootBundleExecuted" | "CrossChainContractsSet";
20
+ type L1TokensToDestinationTokens = {
21
+ [l1Token: string]: {
22
+ [destinationChainId: number]: string;
23
+ };
24
+ };
25
+ export type LpFeeRequest = Pick<Deposit, "originChainId" | "inputToken" | "inputAmount" | "quoteTimestamp"> & {
26
+ paymentChainId?: number;
27
+ };
28
+ export declare class HubPoolClient extends BaseAbstractClient {
29
+ readonly logger: winston.Logger;
30
+ readonly hubPool: Contract;
31
+ configStoreClient: ConfigStoreClient;
32
+ deploymentBlock: number;
33
+ readonly chainId: number;
34
+ protected readonly configOverride: {
35
+ ignoredHubExecutedBundles: number[];
36
+ ignoredHubProposedBundles: number[];
37
+ timeToCache?: number;
38
+ };
39
+ protected l1TokensToDestinationTokens: L1TokensToDestinationTokens;
40
+ protected l1Tokens: L1Token[];
41
+ protected lpTokens: {
42
+ [token: string]: LpToken;
43
+ };
44
+ protected proposedRootBundles: ProposedRootBundle[];
45
+ protected canceledRootBundles: CancelledRootBundle[];
46
+ protected disputedRootBundles: DisputedRootBundle[];
47
+ protected executedRootBundles: ExecutedRootBundle[];
48
+ protected crossChainContracts: {
49
+ [l2ChainId: number]: CrossChainContractsSet[];
50
+ };
51
+ protected l1TokensToDestinationTokensWithBlock: {
52
+ [l1Token: string]: {
53
+ [destinationChainId: number]: DestinationTokenWithBlock[];
54
+ };
55
+ };
56
+ protected pendingRootBundle: PendingRootBundle | undefined;
57
+ currentTime: number | undefined;
58
+ readonly blockFinder: BlockFinder;
59
+ constructor(logger: winston.Logger, hubPool: Contract, configStoreClient: ConfigStoreClient, deploymentBlock?: number, chainId?: number, eventSearchConfig?: MakeOptional<EventSearchConfig, "toBlock">, configOverride?: {
60
+ ignoredHubExecutedBundles: number[];
61
+ ignoredHubProposedBundles: number[];
62
+ timeToCache?: number;
63
+ }, cachingMechanism?: CachingMechanismInterface);
64
+ protected hubPoolEventFilters(): Record<HubPoolEvent, EventFilter>;
65
+ hasPendingProposal(): boolean;
66
+ getPendingRootBundle(): PendingRootBundle | undefined;
67
+ getProposedRootBundles(): ProposedRootBundle[];
68
+ getCancelledRootBundles(): CancelledRootBundle[];
69
+ getDisputedRootBundles(): DisputedRootBundle[];
70
+ getExecutedRootBundles(): ExecutedRootBundle[];
71
+ getSpokePoolForBlock(chain: number, block?: number): string;
72
+ getSpokePoolActivationBlock(chain: number, spokePool: string): number | undefined;
73
+ getL2TokenForL1TokenAtBlock(l1Token: string, destinationChainId: number, latestHubBlock?: number): string;
74
+ getL1TokenForL2TokenAtBlock(l2Token: string, destinationChainId: number, latestHubBlock?: number): string;
75
+ getL1TokenForDeposit(deposit: Pick<DepositWithBlock, "originChainId" | "inputToken" | "quoteBlockNumber">): string;
76
+ getL2TokenForDeposit(deposit: Pick<DepositWithBlock, "originChainId" | "destinationChainId" | "inputToken" | "quoteBlockNumber">, l2ChainId?: number): string;
77
+ l2TokenEnabledForL1Token(l1Token: string, destinationChainId: number): boolean;
78
+ getBlockNumber(timestamp: number): Promise<number | undefined>;
79
+ getCurrentPoolUtilization(l1Token: string): Promise<BigNumber>;
80
+ protected getUtilization(hubPoolToken: string, blockNumber: number, depositAmount: BigNumber, timestamp: number, timeToCache: number): Promise<BigNumber>;
81
+ computeRealizedLpFeePct(deposit: LpFeeRequest): Promise<RealizedLpFee>;
82
+ batchComputeRealizedLpFeePct(deposits: LpFeeRequest[]): Promise<RealizedLpFee[]>;
83
+ getL1Tokens(): L1Token[];
84
+ getTokenInfoForL1Token(l1Token: string): L1Token | undefined;
85
+ getLpTokenInfoForL1Token(l1Token: string): LpToken | undefined;
86
+ getL1TokenInfoForL2Token(l2Token: string, chainId: number): L1Token | undefined;
87
+ getTokenInfoForDeposit(deposit: Deposit): L1Token | undefined;
88
+ getTokenInfo(chainId: number | string, tokenAddress: string): L1Token | undefined;
89
+ areTokensEquivalent(tokenA: string, chainIdA: number, tokenB: string, chainIdB: number, hubPoolBlock?: number): boolean;
90
+ getSpokeActivationBlockForChain(chainId: number): number;
91
+ isRootBundleValid(rootBundle: ProposedRootBundle, latestMainnetBlock: number): boolean;
92
+ getRootBundleEvalBlockNumberContainingBlock(latestMainnetBlock: number, block: number, chain: number, chainIdListOverride?: number[]): number | undefined;
93
+ getProposedRootBundlesInBlockRange(startingBlock: number, endingBlock: number): ProposedRootBundle[];
94
+ getCancelledRootBundlesInBlockRange(startingBlock: number, endingBlock: number): CancelledRootBundle[];
95
+ getDisputedRootBundlesInBlockRange(startingBlock: number, endingBlock: number): DisputedRootBundle[];
96
+ getLatestProposedRootBundle(): ProposedRootBundle;
97
+ getFollowingRootBundle(currentRootBundle: ProposedRootBundle): ProposedRootBundle | undefined;
98
+ getExecutedLeavesForRootBundle(rootBundle: ProposedRootBundle, latestMainnetBlockToSearch: number): ExecutedRootBundle[];
99
+ getValidatedRootBundles(latestMainnetBlock?: number): ProposedRootBundle[];
100
+ getLatestFullyExecutedRootBundle(latestMainnetBlock: number): ProposedRootBundle | undefined;
101
+ getEarliestFullyExecutedRootBundle(latestMainnetBlock: number, startBlock?: number): ProposedRootBundle | undefined;
102
+ getNthFullyExecutedRootBundle(n: number, startBlock?: number): ProposedRootBundle | undefined;
103
+ getLatestBundleEndBlockForChain(chainIdList: number[], latestMainnetBlock: number, chainId: number): number;
104
+ getNextBundleStartBlockNumber(chainIdList: number[], latestMainnetBlock: number, chainId: number): number;
105
+ getRunningBalanceBeforeBlockForChain(block: number, chain: number, l1Token: string): TokenRunningBalance;
106
+ getRunningBalanceForToken(l1Token: string, executedRootBundle: ExecutedRootBundle): TokenRunningBalance;
107
+ _update(eventNames: HubPoolEvent[]): Promise<HubPoolUpdate>;
108
+ update(eventsToQuery?: HubPoolEvent[]): Promise<void>;
109
+ protected getBundleEndBlockForChain(proposeRootBundleEvent: ProposedRootBundle, chainId: number, chainIdList: number[]): number;
110
+ }
111
+ export {};