@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,138 @@
1
+ import { ethers } from "ethers";
2
+ import { isDefined } from "../utils";
3
+ var expectedRateModelKeys = ["UBar", "R0", "R1", "R2"];
4
+ var RateModelDictionary = /** @class */ (function () {
5
+ function RateModelDictionary() {
6
+ this.rateModelDictionary = {};
7
+ }
8
+ RateModelDictionary.prototype._throwIfNotInitialized = function () {
9
+ if (Object.keys(this.rateModelDictionary).length == 0)
10
+ throw new Error("RateModelUtility method called before updating rate model dictionary!");
11
+ };
12
+ RateModelDictionary.prototype.updateWithEvents = function (rateModelEvents) {
13
+ this.rateModelDictionary = createRateModelEventDictionary(rateModelEvents);
14
+ };
15
+ /**
16
+ * Return the rate model for L1 token set at the block height.
17
+ * @param l1Token L1 token address to get rate model for.
18
+ * @param blockNumber Block height to get rate model for.
19
+ * @returns Rate model object.
20
+ */
21
+ RateModelDictionary.prototype.getRateModelForBlockNumber = function (l1Token, blockNumber) {
22
+ this._throwIfNotInitialized();
23
+ var l1TokenNormalized = ethers.utils.getAddress(l1Token);
24
+ if (!this.rateModelDictionary[l1TokenNormalized] || this.rateModelDictionary[l1TokenNormalized].length === 0)
25
+ throw new Error("No updated rate model events for L1 token: ".concat(l1TokenNormalized));
26
+ if (!blockNumber) {
27
+ // If block number is undefined, use latest updated rate model.
28
+ return parseAndReturnRateModelFromString(this.rateModelDictionary[l1TokenNormalized].slice(-1)[0].rateModel);
29
+ }
30
+ else {
31
+ var firstEventBlockNumber = this.rateModelDictionary[l1TokenNormalized][0].blockNumber;
32
+ if (blockNumber < firstEventBlockNumber) {
33
+ throw new Error("Block number #".concat(blockNumber, " is before first UpdatedRateModel event block ").concat(firstEventBlockNumber));
34
+ }
35
+ // We're looking for the latest rate model update that occurred at or before the block number.
36
+ // Rate model events are inserted into the array from oldest at index 0 to newest at index length-1, so we'll
37
+ // reverse the array so it goes from newest at index 0 to oldest at index length-1, and then find the first event
38
+ // who's block number is less than or equal to the target block number.
39
+ var rateModel = this.rateModelDictionary[l1TokenNormalized]
40
+ .slice()
41
+ .reverse() // reverse() modifies memory in place so create a copy first.
42
+ .find(function (event) { return event.blockNumber <= blockNumber; });
43
+ if (!rateModel)
44
+ throw new Error("No updated rate model events before block #".concat(blockNumber, " for L1 token: ").concat(l1TokenNormalized));
45
+ return parseAndReturnRateModelFromString(rateModel === null || rateModel === void 0 ? void 0 : rateModel.rateModel);
46
+ }
47
+ };
48
+ /**
49
+ * @notice Return all L1 tokens that had a rate model associated with it at the block number.
50
+ * @param blockNumber Returns l1 tokens that were mapped to a rate model at this block height. If undefined,
51
+ * this function will return all L1 tokens that have a block number as of the latest block height.
52
+ * @returns array of L1 token addresses.
53
+ */
54
+ RateModelDictionary.prototype.getL1TokensFromRateModel = function (blockNumber) {
55
+ var _this = this;
56
+ if (blockNumber === void 0) { blockNumber = undefined; }
57
+ this._throwIfNotInitialized();
58
+ return Object.keys(this.rateModelDictionary)
59
+ .map(function (l1Token) {
60
+ var l1TokenNormalized = ethers.utils.getAddress(l1Token);
61
+ // Check that there is at least one UpdatedRateModel event before the provided block number, otherwise
62
+ // this L1 token didn't exist in the RateModel at the block height and we shouldn't include it in the returned
63
+ // array.
64
+ if (!blockNumber ||
65
+ _this.rateModelDictionary[l1TokenNormalized].find(function (event) { return event.blockNumber <= blockNumber; }))
66
+ return ethers.utils.getAddress(l1Token);
67
+ else
68
+ return null;
69
+ })
70
+ .filter(isDefined);
71
+ };
72
+ return RateModelDictionary;
73
+ }());
74
+ export { RateModelDictionary };
75
+ /**
76
+ * Helper method that returns parsed rate model from string, or throws.
77
+ * @param rateModelString Stringified rate model to parse.
78
+ * @returns Rate model object. Must conform to `expectedRateModelKeys` format.
79
+ */
80
+ export var parseAndReturnRateModelFromString = function (rateModelString) {
81
+ var rateModelFromEvent = JSON.parse(rateModelString);
82
+ // Rate model must contain the exact same keys in `expectedRateModelKeys`.
83
+ for (var _i = 0, expectedRateModelKeys_1 = expectedRateModelKeys; _i < expectedRateModelKeys_1.length; _i++) {
84
+ var key = expectedRateModelKeys_1[_i];
85
+ if (!Object.keys(rateModelFromEvent).includes(key)) {
86
+ throw new Error("Rate model does not contain all expected keys. Expected keys: [".concat(expectedRateModelKeys, "], actual keys: [").concat(Object.keys(rateModelFromEvent), "]"));
87
+ }
88
+ }
89
+ for (var _a = 0, _b = Object.keys(rateModelFromEvent); _a < _b.length; _a++) {
90
+ var key = _b[_a];
91
+ if (!expectedRateModelKeys.includes(key)) {
92
+ throw new Error("Rate model contains unexpected keys. Expected keys: [".concat(expectedRateModelKeys, "], actual keys: [").concat(Object.keys(rateModelFromEvent), "]"));
93
+ }
94
+ }
95
+ return {
96
+ UBar: rateModelFromEvent.UBar,
97
+ R0: rateModelFromEvent.R0,
98
+ R1: rateModelFromEvent.R1,
99
+ R2: rateModelFromEvent.R2,
100
+ };
101
+ };
102
+ /**
103
+ * Given an unsorted array of updated rate model events, return a dictionary mapping token addresses to sorted
104
+ * rate model events. This method is used internally to enforce chronological sorting of events and mapping rate models
105
+ * to token addresses.
106
+ * @param rateModelEvents Unsorted updated rate model events, each of which contains a token address, the stringified
107
+ * rate model for that token, and the block height of the update.
108
+ * @returns Dictionary mapping token addresses to chronologically sorted rate model updates.
109
+ */
110
+ var createRateModelEventDictionary = function (rateModelEvents) {
111
+ var updatedRateModelEventsForToken = {};
112
+ // Sort events in-place from oldest to newest:
113
+ rateModelEvents.sort(function (a, b) {
114
+ if (a.blockNumber !== b.blockNumber) {
115
+ return a.blockNumber - b.blockNumber;
116
+ }
117
+ if (a.transactionIndex !== b.transactionIndex) {
118
+ return a.transactionIndex - b.transactionIndex;
119
+ }
120
+ return a.logIndex - b.logIndex;
121
+ });
122
+ for (var _i = 0, rateModelEvents_1 = rateModelEvents; _i < rateModelEvents_1.length; _i++) {
123
+ var updatedRateModelEvent = rateModelEvents_1[_i];
124
+ // The contract enforces that all rate models are mapped to addresses, therefore we do not need to check that
125
+ // `l1Token` is a valid address.
126
+ var l1TokenNormalized = ethers.utils.getAddress(updatedRateModelEvent.l1Token);
127
+ if (!updatedRateModelEventsForToken[l1TokenNormalized])
128
+ updatedRateModelEventsForToken[l1TokenNormalized] = [];
129
+ // We assume that events are returned from oldest to newest, so we can simply push events into the array and
130
+ // and maintain their time order.
131
+ updatedRateModelEventsForToken[l1TokenNormalized].push({
132
+ blockNumber: updatedRateModelEvent.blockNumber,
133
+ rateModel: updatedRateModelEvent.rateModel,
134
+ });
135
+ }
136
+ return updatedRateModelEventsForToken;
137
+ };
138
+ //# sourceMappingURL=rateModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rateModel.js","sourceRoot":"","sources":["../../../src/lpFeeCalculator/rateModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { DistributionRecipientsWithProofs, DistributionRecipient } from "./model";
2
+ export declare class MerkleDistributor {
3
+ /**
4
+ * Generate the Merkle root and the proofs for a collection of recipients.
5
+ *
6
+ * @param recipients An object which describes the recipients
7
+ * @param windowIndex Parameter to specify an window index. This allows using the same smart contract for multiple token distributions.
8
+ */
9
+ static createMerkleDistributionProofs(recipients: DistributionRecipient[], windowIndex: number): {
10
+ recipientsWithProofs: DistributionRecipientsWithProofs;
11
+ merkleRoot: string;
12
+ };
13
+ /**
14
+ * Encode the account address, the amount and the account index into a Merkle Tree leaf.
15
+ * It is equivalent to Solidity's keccak256(abi.encode(account, amount))
16
+ * @param recipient The recipient of the token distribution
17
+ * @returns The Merkle Tree leaf
18
+ */
19
+ static createLeaf(recipient: DistributionRecipient): string;
20
+ }
@@ -0,0 +1,34 @@
1
+ import { __assign } from "tslib";
2
+ import { MerkleTree } from "@across-protocol/contracts/dist/utils/MerkleTree";
3
+ import { ethers } from "ethers";
4
+ var MerkleDistributor = /** @class */ (function () {
5
+ function MerkleDistributor() {
6
+ }
7
+ /**
8
+ * Generate the Merkle root and the proofs for a collection of recipients.
9
+ *
10
+ * @param recipients An object which describes the recipients
11
+ * @param windowIndex Parameter to specify an window index. This allows using the same smart contract for multiple token distributions.
12
+ */
13
+ MerkleDistributor.createMerkleDistributionProofs = function (recipients, windowIndex) {
14
+ var merkleTree = new MerkleTree(recipients, MerkleDistributor.createLeaf);
15
+ var recipientsWithProofs = recipients.reduce(function (acc, recipient) {
16
+ var _a;
17
+ return __assign(__assign({}, acc), (_a = {}, _a[recipient.account] = __assign(__assign({}, recipient), { proof: merkleTree.getHexProof(recipient), windowIndex: windowIndex }), _a));
18
+ }, {});
19
+ return { recipientsWithProofs: recipientsWithProofs, merkleRoot: merkleTree.getHexRoot() };
20
+ };
21
+ /**
22
+ * Encode the account address, the amount and the account index into a Merkle Tree leaf.
23
+ * It is equivalent to Solidity's keccak256(abi.encode(account, amount))
24
+ * @param recipient The recipient of the token distribution
25
+ * @returns The Merkle Tree leaf
26
+ */
27
+ MerkleDistributor.createLeaf = function (recipient) {
28
+ var account = recipient.account, amount = recipient.amount, accountIndex = recipient.accountIndex;
29
+ return ethers.utils.solidityKeccak256(["address", "uint256", "uint256"], [account, amount, accountIndex]);
30
+ };
31
+ return MerkleDistributor;
32
+ }());
33
+ export { MerkleDistributor };
34
+ //# sourceMappingURL=MerkleDistributor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MerkleDistributor.js","sourceRoot":"","sources":["../../../src/merkleDistributor/MerkleDistributor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC;IAAA;IAgCA,CAAC;IA/BC;;;;;OAKG;IACI,gDAA8B,GAArC,UAAsC,UAAmC,EAAE,WAAmB;QAC5F,IAAM,UAAU,GAAG,IAAI,UAAU,CAAwB,UAAU,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACnG,IAAM,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,SAAS;;YAC5D,6BACK,GAAG,gBACL,SAAS,CAAC,OAAO,0BACb,SAAS,KACZ,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,EACxC,WAAW,aAAA,UAEb;QACJ,CAAC,EAAE,EAAsC,CAAC,CAAC;QAC3C,OAAO,EAAE,oBAAoB,sBAAA,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACI,4BAAU,GAAjB,UAAkB,SAAgC;QACxC,IAAA,OAAO,GAA2B,SAAS,QAApC,EAAE,MAAM,GAAmB,SAAS,OAA5B,EAAE,YAAY,GAAK,SAAS,aAAd,CAAe;QACpD,OAAO,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAC5G,CAAC;IACH,wBAAC;AAAD,CAAC,AAhCD,IAgCC"}
@@ -0,0 +1,2 @@
1
+ export * from "./model";
2
+ export * from "./MerkleDistributor";
@@ -0,0 +1,3 @@
1
+ export * from "./model";
2
+ export * from "./MerkleDistributor";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/merkleDistributor/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,17 @@
1
+ export type DistributionRecipientsWithProofs = {
2
+ [address: string]: DistributionRecipientWithProof;
3
+ };
4
+ export type DistributionRecipient = {
5
+ amount: string;
6
+ account: string;
7
+ accountIndex: number;
8
+ metadata: {
9
+ amountBreakdown: {
10
+ [name: string]: string;
11
+ };
12
+ };
13
+ };
14
+ export type DistributionRecipientWithProof = DistributionRecipient & {
15
+ windowIndex: number;
16
+ proof: string[];
17
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Distribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Distribution.js","sourceRoot":"","sources":["../../../../src/merkleDistributor/model/Distribution.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from "./Distribution";
@@ -0,0 +1,2 @@
1
+ export * from "./Distribution";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/merkleDistributor/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ {"type":"module","sideEffects":false}
@@ -0,0 +1,12 @@
1
+ import { Signer } from "ethers";
2
+ import { TransactionRequest, TransactionReceipt } from "@ethersproject/abstract-provider";
3
+ type Config = {
4
+ confirmations?: number;
5
+ };
6
+ export type Emit = (event: string, key: string, data: TransactionReceipt | string | TransactionRequest | Error) => void;
7
+ declare const _default: (config: Config, signer: Signer, emit?: Emit) => {
8
+ request: (unsignedTx: TransactionRequest) => string;
9
+ isMined: (key: string) => TransactionReceipt | undefined;
10
+ update: () => Promise<void>;
11
+ };
12
+ export default _default;
@@ -0,0 +1,122 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import assert from "assert";
3
+ function makeKey(tx) {
4
+ return JSON.stringify(Object.entries(tx).map(function (_a) {
5
+ var key = _a[0], value = _a[1];
6
+ return [key, (value || "").toString()];
7
+ }));
8
+ }
9
+ export default (function (config, signer, emit) {
10
+ if (emit === void 0) { emit = function () { return null; }; }
11
+ assert(signer.provider, "signer requires a provider, use signer.connect(provider)");
12
+ var _a = config.confirmations, confirmations = _a === void 0 ? 3 : _a;
13
+ var requests = new Map();
14
+ var submissions = new Map();
15
+ var mined = new Map();
16
+ function request(unsignedTx) {
17
+ // this no longer calls signer.populateTransaction, to allow metamask to fill in missing details instead
18
+ // use overrides if you want to manually fill in other tx details, including the overrides.customData field.
19
+ var populated = unsignedTx;
20
+ var key = makeKey(populated);
21
+ assert(!requests.has(key), "Transaction already in progress");
22
+ requests.set(key, populated);
23
+ return key;
24
+ }
25
+ function processRequest(key) {
26
+ return __awaiter(this, void 0, void 0, function () {
27
+ var request, sent, err_1;
28
+ return __generator(this, function (_a) {
29
+ switch (_a.label) {
30
+ case 0:
31
+ request = requests.get(key);
32
+ assert(request, "invalid request");
33
+ // always delete request, it should only be submitted once
34
+ requests.delete(key);
35
+ _a.label = 1;
36
+ case 1:
37
+ _a.trys.push([1, 3, , 4]);
38
+ return [4 /*yield*/, signer.sendTransaction(request)];
39
+ case 2:
40
+ sent = _a.sent();
41
+ submissions.set(key, sent.hash);
42
+ emit("submitted", key, sent.hash);
43
+ return [3 /*break*/, 4];
44
+ case 3:
45
+ err_1 = _a.sent();
46
+ emit("error", key, err_1);
47
+ return [3 /*break*/, 4];
48
+ case 4: return [2 /*return*/];
49
+ }
50
+ });
51
+ });
52
+ }
53
+ function processSubmission(key) {
54
+ return __awaiter(this, void 0, void 0, function () {
55
+ var hash, receipt;
56
+ return __generator(this, function (_a) {
57
+ switch (_a.label) {
58
+ case 0:
59
+ hash = submissions.get(key);
60
+ assert(hash, "invalid submission");
61
+ assert(signer.provider, "signer requires a provider, use signer.connect(provider)");
62
+ return [4 /*yield*/, signer.provider.getTransactionReceipt(hash).catch(function () { return undefined; })];
63
+ case 1:
64
+ receipt = _a.sent();
65
+ if (receipt == null)
66
+ return [2 /*return*/];
67
+ if (receipt.confirmations < confirmations)
68
+ return [2 /*return*/];
69
+ submissions.delete(key);
70
+ mined.set(key, receipt);
71
+ emit("mined", key, receipt);
72
+ return [2 /*return*/];
73
+ }
74
+ });
75
+ });
76
+ }
77
+ function isMined(key) {
78
+ return mined.get(key);
79
+ }
80
+ function update() {
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ var _i, _a, key, _b, _c, key;
83
+ return __generator(this, function (_d) {
84
+ switch (_d.label) {
85
+ case 0:
86
+ _i = 0, _a = Object.keys(requests);
87
+ _d.label = 1;
88
+ case 1:
89
+ if (!(_i < _a.length)) return [3 /*break*/, 4];
90
+ key = _a[_i];
91
+ return [4 /*yield*/, processRequest(key)];
92
+ case 2:
93
+ _d.sent();
94
+ _d.label = 3;
95
+ case 3:
96
+ _i++;
97
+ return [3 /*break*/, 1];
98
+ case 4:
99
+ _b = 0, _c = Object.keys(submissions);
100
+ _d.label = 5;
101
+ case 5:
102
+ if (!(_b < _c.length)) return [3 /*break*/, 8];
103
+ key = _c[_b];
104
+ return [4 /*yield*/, processSubmission(key)];
105
+ case 6:
106
+ _d.sent();
107
+ _d.label = 7;
108
+ case 7:
109
+ _b++;
110
+ return [3 /*break*/, 5];
111
+ case 8: return [2 /*return*/];
112
+ }
113
+ });
114
+ });
115
+ }
116
+ return {
117
+ request: request,
118
+ isMined: isMined,
119
+ update: update,
120
+ };
121
+ });
122
+ //# sourceMappingURL=TransactionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionManager.js","sourceRoot":"","sources":["../../../src/pool/TransactionManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./poolClient";
@@ -0,0 +1,2 @@
1
+ export * from "./poolClient";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pool/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,242 @@
1
+ import * as uma from "@uma/sdk";
2
+ import { BigNumberish } from "../utils";
3
+ import { Signer, BigNumber } from "ethers";
4
+ import type { Overrides } from "@ethersproject/contracts";
5
+ import { TransactionRequest, TransactionReceipt, Log } from "@ethersproject/abstract-provider";
6
+ import { Provider, Block } from "@ethersproject/providers";
7
+ import { hubPool } from "../contracts";
8
+ import { AcceleratingDistributor, MerkleDistributor } from "../typechain";
9
+ export type { Provider };
10
+ export type Awaited<T> = T extends PromiseLike<infer U> ? U : T;
11
+ export type Config = {
12
+ chainId?: number;
13
+ hubPoolAddress: string;
14
+ acceleratingDistributorAddress: string;
15
+ merkleDistributorAddress: string;
16
+ wethAddress: string;
17
+ configStoreAddress: string;
18
+ confirmations?: number;
19
+ blockDelta?: number;
20
+ hasArchive?: boolean;
21
+ hubPoolStartBlock?: number;
22
+ };
23
+ export type Dependencies = {
24
+ provider: Provider;
25
+ };
26
+ export type StakeData = {
27
+ cumulativeBalance: BigNumber;
28
+ amountAirdropped: BigNumber;
29
+ };
30
+ export type Pool = {
31
+ address: string;
32
+ totalPoolSize: string;
33
+ l1Token: string;
34
+ lpToken: string;
35
+ liquidReserves: string;
36
+ exchangeRateCurrent: string;
37
+ exchangeRatePrevious: string;
38
+ estimatedApy: string;
39
+ estimatedApr: string;
40
+ blocksElapsed: number;
41
+ secondsElapsed: number;
42
+ utilizedReserves: string;
43
+ projectedApr: string;
44
+ liquidityUtilizationCurrent: string;
45
+ };
46
+ export type User = {
47
+ address: string;
48
+ poolAddress: string;
49
+ lpTokens: string;
50
+ positionValue: string;
51
+ totalDeposited: string;
52
+ feesEarned: string;
53
+ };
54
+ export type Transaction = {
55
+ id: string;
56
+ state: "requested" | "submitted" | "mined" | "error";
57
+ toAddress: string;
58
+ fromAddress: string;
59
+ type: "Add Liquidity" | "Remove Liquidity";
60
+ description: string;
61
+ request?: TransactionRequest;
62
+ hash?: string;
63
+ receipt?: TransactionReceipt;
64
+ error?: Error;
65
+ };
66
+ export type Token = {
67
+ decimals: string;
68
+ symbol: string;
69
+ name: string;
70
+ };
71
+ export type State = {
72
+ pools: Record<string, Pool>;
73
+ users: Record<string, Record<string, User>>;
74
+ transactions: Record<string, Transaction>;
75
+ error?: Error;
76
+ };
77
+ export type EmitState = (path: string[], data: Pool | User | Transaction | Error) => void;
78
+ export type PooledToken = {
79
+ lpToken: string;
80
+ isEnabled: boolean;
81
+ lastLpFeeUpdate: number;
82
+ utilizedReserves: BigNumber;
83
+ liquidReserves: BigNumber;
84
+ undistributedLpFees: BigNumber;
85
+ };
86
+ type EventIdParams = {
87
+ blockNumber: number;
88
+ transactionIndex: number;
89
+ logIndex: number;
90
+ };
91
+ export declare class PoolEventState {
92
+ private contract;
93
+ private startBlock;
94
+ private seen;
95
+ private iface;
96
+ private events;
97
+ constructor(contract: hubPool.Instance, startBlock?: number);
98
+ private makeId;
99
+ hasEvent(params: EventIdParams): boolean;
100
+ private addEvent;
101
+ private filterSeen;
102
+ private processEvent;
103
+ private processEvents;
104
+ read(endBlock: number, l1TokenAddress?: string, userAddress?: string): Promise<hubPool.EventState>;
105
+ makeEventFromLog: (log: Log) => uma.SerializableEvent;
106
+ getL1TokenFromReceipt(receipt: TransactionReceipt): string;
107
+ readTxReceipt(receipt: TransactionReceipt): hubPool.EventState;
108
+ }
109
+ declare class UserState {
110
+ private contract;
111
+ private userAddress;
112
+ private startBlock;
113
+ private acceleratingDistributorContractAddress;
114
+ private seen;
115
+ private events;
116
+ constructor(contract: uma.clients.erc20.Instance, userAddress: string, startBlock?: number, acceleratingDistributorContractAddress?: string);
117
+ private makeId;
118
+ hasEvent(params: EventIdParams): boolean;
119
+ private addEvent;
120
+ private filterSeen;
121
+ /**
122
+ * readEvents. Fetch and cache events for the user.
123
+ *
124
+ * @param {number} endBlock
125
+ */
126
+ readEvents(endBlock: number): Promise<uma.clients.erc20.Transfer[]>;
127
+ /**
128
+ * read. Reads the state for the user, building state from events as well as contract calls.
129
+ *
130
+ * @param {number} endBlock
131
+ */
132
+ read(endBlock: number): Promise<{
133
+ transferEvents: import("@uma/contracts-frontend").TypedEventEthers<[string, string, uma.oracle.types.ethers.BigNumber] & {
134
+ from: string;
135
+ to: string;
136
+ value: uma.oracle.types.ethers.BigNumber;
137
+ }>[];
138
+ balanceTransferred: string;
139
+ address: string;
140
+ balanceOf: uma.oracle.types.ethers.BigNumber;
141
+ }>;
142
+ }
143
+ export declare function calculateRemoval(amountWei: BigNumber, percentWei: BigNumber): {
144
+ recieve: string;
145
+ remain: string;
146
+ };
147
+ export declare function previewRemoval(values: {
148
+ positionValue: BigNumberish;
149
+ feesEarned: BigNumberish;
150
+ totalDeposited: BigNumberish;
151
+ }, percentFloat: number): {
152
+ position: {
153
+ recieve: string;
154
+ remain: string;
155
+ };
156
+ fees: {
157
+ recieve: string;
158
+ remain: string;
159
+ };
160
+ total: {
161
+ recieve: string;
162
+ remain: string;
163
+ };
164
+ };
165
+ export declare class ReadPoolClient {
166
+ private address;
167
+ private provider;
168
+ private poolState;
169
+ private contract;
170
+ constructor(address: string, provider: Provider);
171
+ read(tokenAddress: string, latestBlock: number): Promise<{
172
+ lpToken: string;
173
+ isEnabled: boolean;
174
+ lastLpFeeUpdate: number;
175
+ utilizedReserves: uma.oracle.types.ethers.BigNumber;
176
+ liquidReserves: uma.oracle.types.ethers.BigNumber;
177
+ undistributedLpFees: uma.oracle.types.ethers.BigNumber;
178
+ address: string;
179
+ l1Token: string;
180
+ latestBlock: number;
181
+ previousBlock: number | undefined;
182
+ exchangeRatePrevious: uma.oracle.types.ethers.BigNumber;
183
+ exchangeRateCurrent: uma.oracle.types.ethers.BigNumber;
184
+ liquidityUtilizationCurrent: uma.oracle.types.ethers.BigNumber;
185
+ }>;
186
+ }
187
+ export declare function validateWithdraw(pool: Pool, user: User, lpTokenAmount: BigNumberish): {
188
+ lpTokenAmount: uma.oracle.types.ethers.BigNumberish;
189
+ l1TokensToReturn: string;
190
+ };
191
+ export declare class Client {
192
+ readonly config: Config;
193
+ readonly deps: Dependencies;
194
+ private emit;
195
+ private transactionManagers;
196
+ private hubPool;
197
+ private acceleratingDistributor;
198
+ private merkleDistributor;
199
+ readonly state: State;
200
+ private poolEvents;
201
+ private erc20s;
202
+ private intervalStarted;
203
+ private configStoreClient;
204
+ private exchangeRateTable;
205
+ private userServices;
206
+ constructor(config: Config, deps: Dependencies, emit: EmitState);
207
+ getOrCreateErc20Contract(address: string): uma.clients.erc20.Instance;
208
+ getOrCreatePoolContract(): hubPool.Instance;
209
+ createHubPoolContract(signerOrProvider: Signer | Provider): hubPool.Instance;
210
+ private getOrCreatePoolEvents;
211
+ createAcceleratingDistributorContract(signerOrProvider: Signer | Provider): AcceleratingDistributor;
212
+ createMerkleDistributorContract(signerOrProvider: Signer | Provider): MerkleDistributor;
213
+ getOrCreateAcceleratingDistributorContract(): AcceleratingDistributor;
214
+ getOrCreateMerkleDistributorContract(): MerkleDistributor;
215
+ private getOrCreateUserService;
216
+ private updateExchangeRateTable;
217
+ resolveStakingData(lpToken: string, l1TokenAddress: string, userState: Awaited<ReturnType<UserState["read"]>>): Promise<StakeData>;
218
+ calculateLpTransferValue(l1TokenAddress: string, userState: Awaited<ReturnType<UserState["read"]>>): Promise<uma.oracle.types.ethers.BigNumber>;
219
+ private getOrCreateTransactionManager;
220
+ addEthLiquidity(signer: Signer, l1TokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
221
+ addTokenLiquidity(signer: Signer, l1Token: string, l1TokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
222
+ validateWithdraw(l1Token: string, userAddress: string, lpAmount: BigNumberish): Promise<{
223
+ lpTokenAmount: uma.oracle.types.ethers.BigNumberish;
224
+ l1TokensToReturn: string;
225
+ }>;
226
+ removeTokenLiquidity(signer: Signer, l1Token: string, lpTokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
227
+ removeEthliquidity(signer: Signer, lpTokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
228
+ getPoolState(l1TokenAddress: string): Pool;
229
+ hasPoolState(l1TokenAddress: string): boolean;
230
+ setUserState(l1TokenAddress: string, userAddress: string, state: User): User;
231
+ getUserState(l1TokenAddress: string, userAddress: string): User;
232
+ hasUserState(l1TokenAddress: string, userAddress: string): boolean;
233
+ hasTxState(id: string): boolean;
234
+ getTxState(id: string): Transaction;
235
+ private updateAndEmitUser;
236
+ private updateUserWithTransaction;
237
+ updateUser(userAddress: string, l1TokenAddress: string): Promise<void>;
238
+ updatePool(l1TokenAddress: string, overrideLatestBlock?: Block): Promise<void>;
239
+ updateTransactions(): Promise<void>;
240
+ startInterval(delayMs?: number): void;
241
+ stopInterval(): void;
242
+ }