@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,869 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Client = exports.validateWithdraw = exports.ReadPoolClient = exports.previewRemoval = exports.calculateRemoval = exports.PoolEventState = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var assert_1 = tslib_1.__importDefault(require("assert"));
6
+ var uma = tslib_1.__importStar(require("@uma/sdk"));
7
+ var utils_1 = require("../utils");
8
+ var ethers_1 = require("ethers");
9
+ var set_1 = tslib_1.__importDefault(require("lodash/set"));
10
+ var get_1 = tslib_1.__importDefault(require("lodash/get"));
11
+ var has_1 = tslib_1.__importDefault(require("lodash/has"));
12
+ var lpFeeCalculator_1 = require("../lpFeeCalculator");
13
+ var contracts_1 = require("../contracts");
14
+ var typechain_1 = require("../typechain");
15
+ var erc20 = uma.clients.erc20;
16
+ var loop = uma.utils.loop;
17
+ var TransactionManager = uma.across.TransactionManager;
18
+ var _a = uma.across.constants, SECONDS_PER_YEAR = _a.SECONDS_PER_YEAR, DEFAULT_BLOCK_DELTA = _a.DEFAULT_BLOCK_DELTA;
19
+ var AddressZero = ethers_1.ethers.constants.AddressZero;
20
+ var PoolState = (function () {
21
+ function PoolState(contract, address) {
22
+ this.contract = contract;
23
+ this.address = address;
24
+ }
25
+ PoolState.prototype.read = function (l1Token, latestBlock, previousBlock) {
26
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
27
+ var exchangeRatePrevious, exchangeRateCurrent, pooledToken, liquidityUtilizationCurrent;
28
+ return tslib_1.__generator(this, function (_a) {
29
+ switch (_a.label) {
30
+ case 0: return [4, this.exchangeRateAtBlock(l1Token, previousBlock || latestBlock - 1)];
31
+ case 1:
32
+ exchangeRatePrevious = _a.sent();
33
+ return [4, this.contract.callStatic.exchangeRateCurrent(l1Token)];
34
+ case 2:
35
+ exchangeRateCurrent = _a.sent();
36
+ return [4, this.contract.pooledTokens(l1Token)];
37
+ case 3:
38
+ pooledToken = _a.sent();
39
+ return [4, this.contract.callStatic.liquidityUtilizationCurrent(l1Token)];
40
+ case 4:
41
+ liquidityUtilizationCurrent = _a.sent();
42
+ return [2, tslib_1.__assign({ address: this.address, l1Token: l1Token, latestBlock: latestBlock, previousBlock: previousBlock, exchangeRatePrevious: exchangeRatePrevious, exchangeRateCurrent: exchangeRateCurrent, liquidityUtilizationCurrent: liquidityUtilizationCurrent }, pooledToken)];
43
+ }
44
+ });
45
+ });
46
+ };
47
+ PoolState.prototype.exchangeRateAtBlock = function (l1Token, blockTag) {
48
+ return this.contract.callStatic.exchangeRateCurrent(l1Token, { blockTag: blockTag });
49
+ };
50
+ return PoolState;
51
+ }());
52
+ var PoolEventState = (function () {
53
+ function PoolEventState(contract, startBlock) {
54
+ var _this = this;
55
+ if (startBlock === void 0) { startBlock = 0; }
56
+ this.contract = contract;
57
+ this.startBlock = startBlock;
58
+ this.seen = new Set();
59
+ this.events = [];
60
+ this.makeId = function (params) {
61
+ return uma.oracle.utils.eventKey(params);
62
+ };
63
+ this.filterSeen = function (params) {
64
+ var seen = _this.hasEvent(params);
65
+ if (!seen)
66
+ _this.addEvent(params);
67
+ return !seen;
68
+ };
69
+ this.processEvent = function (event) {
70
+ if (!_this.filterSeen(event))
71
+ return;
72
+ _this.events = uma.oracle.utils.insertOrderedAscending(_this.events, event, _this.makeId);
73
+ };
74
+ this.processEvents = function (events) {
75
+ events.forEach(_this.processEvent);
76
+ };
77
+ this.makeEventFromLog = function (log) {
78
+ var description = _this.iface.parseLog(log);
79
+ return tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, log), description), { event: description.name, eventSignature: description.signature });
80
+ };
81
+ this.iface = new ethers_1.ethers.utils.Interface(contracts_1.hubPool.Factory.abi);
82
+ }
83
+ PoolEventState.prototype.hasEvent = function (params) {
84
+ return this.seen.has(this.makeId(params));
85
+ };
86
+ PoolEventState.prototype.addEvent = function (params) {
87
+ this.seen.add(this.makeId(params));
88
+ };
89
+ PoolEventState.prototype.read = function (endBlock, l1TokenAddress, userAddress) {
90
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
91
+ var events, _a, _b, _c, _d;
92
+ return tslib_1.__generator(this, function (_e) {
93
+ switch (_e.label) {
94
+ case 0:
95
+ _b = (_a = Promise).all;
96
+ _c = [[]];
97
+ return [4, this.contract.queryFilter(this.contract.filters.LiquidityAdded(l1TokenAddress, undefined, undefined, userAddress), this.startBlock, endBlock)];
98
+ case 1:
99
+ _d = [tslib_1.__spreadArray.apply(void 0, _c.concat([(_e.sent()), true]))];
100
+ return [4, this.contract.queryFilter(this.contract.filters.LiquidityRemoved(l1TokenAddress, undefined, undefined, userAddress), this.startBlock, endBlock)];
101
+ case 2: return [4, _b.apply(_a, [tslib_1.__spreadArray.apply(void 0, _d.concat([(_e.sent()), true]))])];
102
+ case 3:
103
+ events = _e.sent();
104
+ this.processEvents(events);
105
+ return [2, contracts_1.hubPool.getEventState(this.events)];
106
+ }
107
+ });
108
+ });
109
+ };
110
+ PoolEventState.prototype.getL1TokenFromReceipt = function (receipt) {
111
+ var _this = this;
112
+ var events = receipt.logs
113
+ .filter(function (log) { return ethers_1.ethers.utils.getAddress(log.address) === ethers_1.ethers.utils.getAddress(_this.contract.address); })
114
+ .map(this.makeEventFromLog);
115
+ this.processEvents(events);
116
+ var eventState = contracts_1.hubPool.getEventState(events);
117
+ var l1Tokens = Object.keys(eventState);
118
+ (0, assert_1.default)(l1Tokens.length, "Token not found from events");
119
+ (0, assert_1.default)(l1Tokens.length === 1, "Multiple tokens found from events");
120
+ return l1Tokens[0];
121
+ };
122
+ PoolEventState.prototype.readTxReceipt = function (receipt) {
123
+ var _this = this;
124
+ var events = receipt.logs
125
+ .filter(function (log) { return ethers_1.ethers.utils.getAddress(log.address) === ethers_1.ethers.utils.getAddress(_this.contract.address); })
126
+ .map(this.makeEventFromLog);
127
+ this.processEvents(events);
128
+ return contracts_1.hubPool.getEventState(this.events);
129
+ };
130
+ return PoolEventState;
131
+ }());
132
+ exports.PoolEventState = PoolEventState;
133
+ var UserState = (function () {
134
+ function UserState(contract, userAddress, startBlock, acceleratingDistributorContractAddress) {
135
+ var _this = this;
136
+ if (startBlock === void 0) { startBlock = 0; }
137
+ if (acceleratingDistributorContractAddress === void 0) { acceleratingDistributorContractAddress = ""; }
138
+ this.contract = contract;
139
+ this.userAddress = userAddress;
140
+ this.startBlock = startBlock;
141
+ this.acceleratingDistributorContractAddress = acceleratingDistributorContractAddress;
142
+ this.seen = new Set();
143
+ this.events = [];
144
+ this.filterSeen = function (params) {
145
+ var seen = _this.hasEvent(params);
146
+ if (!seen)
147
+ _this.addEvent(params);
148
+ return !seen;
149
+ };
150
+ }
151
+ UserState.prototype.makeId = function (params) {
152
+ return uma.oracle.utils.eventKey(params);
153
+ };
154
+ UserState.prototype.hasEvent = function (params) {
155
+ return this.seen.has(this.makeId(params));
156
+ };
157
+ UserState.prototype.addEvent = function (params) {
158
+ this.seen.add(this.makeId(params));
159
+ };
160
+ UserState.prototype.readEvents = function (endBlock) {
161
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
162
+ var userAddress, events, _a, _b, _c, _d;
163
+ var _this = this;
164
+ return tslib_1.__generator(this, function (_e) {
165
+ switch (_e.label) {
166
+ case 0:
167
+ if (endBlock <= this.startBlock)
168
+ return [2, []];
169
+ userAddress = this.userAddress;
170
+ _b = (_a = Promise).all;
171
+ _c = [[]];
172
+ return [4, this.contract.queryFilter(this.contract.filters.Transfer(userAddress, undefined), this.startBlock, endBlock)];
173
+ case 1:
174
+ _d = [tslib_1.__spreadArray.apply(void 0, _c.concat([(_e.sent()), true]))];
175
+ return [4, this.contract.queryFilter(this.contract.filters.Transfer(undefined, userAddress), this.startBlock, endBlock)];
176
+ case 2: return [4, _b.apply(_a, [tslib_1.__spreadArray.apply(void 0, _d.concat([(_e.sent()), true]))])];
177
+ case 3:
178
+ events = (_e.sent())
179
+ .filter(this.filterSeen)
180
+ .filter(function (event) {
181
+ return event.args.from !== AddressZero &&
182
+ event.args.to !== AddressZero &&
183
+ event.args.to !== _this.acceleratingDistributorContractAddress &&
184
+ event.args.from !== _this.acceleratingDistributorContractAddress &&
185
+ event.args.from !== event.args.to;
186
+ })
187
+ .flat();
188
+ this.events = this.events.concat(events).sort(function (a, b) {
189
+ if (a.blockNumber !== b.blockNumber)
190
+ return a.blockNumber - b.blockNumber;
191
+ if (a.transactionIndex !== b.transactionIndex)
192
+ return a.transactionIndex - b.transactionIndex;
193
+ if (a.logIndex !== b.logIndex)
194
+ return a.logIndex - b.logIndex;
195
+ throw new Error("Duplicate events at tx hash: " + a.transactionHash);
196
+ });
197
+ this.startBlock = endBlock + 1;
198
+ return [2, this.events];
199
+ }
200
+ });
201
+ });
202
+ };
203
+ UserState.prototype.read = function (endBlock) {
204
+ var _a;
205
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
206
+ var userAddress, transferEvents, state, balanceTransferred;
207
+ var _b;
208
+ return tslib_1.__generator(this, function (_c) {
209
+ switch (_c.label) {
210
+ case 0:
211
+ userAddress = this.userAddress;
212
+ return [4, this.readEvents(endBlock)];
213
+ case 1:
214
+ transferEvents = _c.sent();
215
+ state = uma.clients.erc20.getEventState(transferEvents);
216
+ balanceTransferred = ((_a = state === null || state === void 0 ? void 0 : state.balances) === null || _a === void 0 ? void 0 : _a[userAddress]) || "0";
217
+ _b = {
218
+ transferEvents: transferEvents,
219
+ balanceTransferred: balanceTransferred,
220
+ address: userAddress
221
+ };
222
+ return [4, this.contract.balanceOf(userAddress)];
223
+ case 2: return [2, (_b.balanceOf = _c.sent(),
224
+ _b)];
225
+ }
226
+ });
227
+ });
228
+ };
229
+ return UserState;
230
+ }());
231
+ function calculateRemoval(amountWei, percentWei) {
232
+ var receive = amountWei.mul(percentWei).div(utils_1.fixedPointAdjustment);
233
+ var remain = amountWei.sub(receive);
234
+ return {
235
+ recieve: receive.toString(),
236
+ remain: remain.toString(),
237
+ };
238
+ }
239
+ exports.calculateRemoval = calculateRemoval;
240
+ function previewRemoval(values, percentFloat) {
241
+ var percentWei = (0, utils_1.toBNWei)(percentFloat);
242
+ return {
243
+ position: tslib_1.__assign({}, calculateRemoval(ethers_1.BigNumber.from(values.totalDeposited), percentWei)),
244
+ fees: tslib_1.__assign({}, calculateRemoval(ethers_1.BigNumber.from(values.feesEarned), percentWei)),
245
+ total: tslib_1.__assign({}, calculateRemoval(ethers_1.BigNumber.from(values.positionValue), percentWei)),
246
+ };
247
+ }
248
+ exports.previewRemoval = previewRemoval;
249
+ function joinUserState(poolState, tokenEventState, userState, transferValue, cumulativeStakeBalance, cumulativeStakeClaimBalance) {
250
+ if (transferValue === void 0) { transferValue = ethers_1.ethers.constants.Zero; }
251
+ if (cumulativeStakeBalance === void 0) { cumulativeStakeBalance = ethers_1.ethers.constants.Zero; }
252
+ if (cumulativeStakeClaimBalance === void 0) { cumulativeStakeClaimBalance = ethers_1.ethers.constants.Zero; }
253
+ var positionValue = ethers_1.BigNumber.from(poolState.exchangeRateCurrent)
254
+ .mul(userState.balanceOf.add(cumulativeStakeBalance))
255
+ .div(utils_1.fixedPointAdjustment);
256
+ var totalDeposited = ethers_1.BigNumber.from((tokenEventState === null || tokenEventState === void 0 ? void 0 : tokenEventState.tokenBalances[userState.address]) || "0").add(cumulativeStakeClaimBalance);
257
+ var feesEarned = positionValue.sub(totalDeposited.add(transferValue));
258
+ return {
259
+ address: userState.address,
260
+ poolAddress: poolState.address,
261
+ lpTokens: userState.balanceOf.toString(),
262
+ positionValue: positionValue.toString(),
263
+ totalDeposited: totalDeposited.toString(),
264
+ feesEarned: feesEarned.toString(),
265
+ };
266
+ }
267
+ function joinPoolState(poolState, latestBlock, previousBlock, rateModel) {
268
+ var totalPoolSize = poolState.liquidReserves.add(poolState.utilizedReserves);
269
+ var secondsElapsed = latestBlock.timestamp - previousBlock.timestamp;
270
+ var blocksElapsed = latestBlock.number - previousBlock.number;
271
+ var exchangeRatePrevious = poolState.exchangeRatePrevious.toString();
272
+ var exchangeRateCurrent = poolState.exchangeRateCurrent.toString();
273
+ var liquidityUtilizationCurrent = poolState.liquidityUtilizationCurrent.toString();
274
+ var estimatedApy = (0, utils_1.calcPeriodicCompoundInterest)(exchangeRatePrevious, exchangeRateCurrent, secondsElapsed, SECONDS_PER_YEAR);
275
+ var estimatedApr = (0, utils_1.calcApr)(exchangeRatePrevious, exchangeRateCurrent, secondsElapsed, SECONDS_PER_YEAR);
276
+ var projectedApr = "";
277
+ if (rateModel) {
278
+ projectedApr = (0, utils_1.fromWei)((0, lpFeeCalculator_1.calculateInstantaneousRate)(rateModel, liquidityUtilizationCurrent)
279
+ .mul(liquidityUtilizationCurrent)
280
+ .div(utils_1.fixedPointAdjustment));
281
+ }
282
+ return {
283
+ address: poolState.address,
284
+ totalPoolSize: totalPoolSize.toString(),
285
+ l1Token: poolState.l1Token,
286
+ lpToken: poolState.lpToken,
287
+ liquidReserves: poolState.liquidReserves.toString(),
288
+ exchangeRateCurrent: poolState.exchangeRateCurrent.toString(),
289
+ exchangeRatePrevious: poolState.exchangeRatePrevious.toString(),
290
+ estimatedApy: estimatedApy,
291
+ estimatedApr: estimatedApr,
292
+ blocksElapsed: blocksElapsed,
293
+ secondsElapsed: secondsElapsed,
294
+ projectedApr: projectedApr,
295
+ utilizedReserves: poolState.utilizedReserves.toString(),
296
+ liquidityUtilizationCurrent: liquidityUtilizationCurrent,
297
+ };
298
+ }
299
+ var ReadPoolClient = (function () {
300
+ function ReadPoolClient(address, provider) {
301
+ this.address = address;
302
+ this.provider = provider;
303
+ this.contract = contracts_1.hubPool.connect(address, this.provider);
304
+ this.poolState = new PoolState(this.contract, this.address);
305
+ }
306
+ ReadPoolClient.prototype.read = function (tokenAddress, latestBlock) {
307
+ return this.poolState.read(tokenAddress, latestBlock);
308
+ };
309
+ return ReadPoolClient;
310
+ }());
311
+ exports.ReadPoolClient = ReadPoolClient;
312
+ function validateWithdraw(pool, user, lpTokenAmount) {
313
+ var l1TokensToReturn = ethers_1.BigNumber.from(lpTokenAmount).mul(pool.exchangeRateCurrent).div(utils_1.fixedPointAdjustment);
314
+ (0, assert_1.default)(ethers_1.BigNumber.from(l1TokensToReturn).gt("0"), "Must withdraw amount greater than 0");
315
+ (0, assert_1.default)(ethers_1.BigNumber.from(lpTokenAmount).lte(user.lpTokens), "You cannot withdraw more than you have");
316
+ return { lpTokenAmount: lpTokenAmount, l1TokensToReturn: l1TokensToReturn.toString() };
317
+ }
318
+ exports.validateWithdraw = validateWithdraw;
319
+ var Client = (function () {
320
+ function Client(config, deps, emit) {
321
+ this.config = config;
322
+ this.deps = deps;
323
+ this.emit = emit;
324
+ this.transactionManagers = {};
325
+ this.state = { pools: {}, users: {}, transactions: {} };
326
+ this.erc20s = {};
327
+ this.intervalStarted = false;
328
+ this.exchangeRateTable = {};
329
+ this.userServices = {};
330
+ config.chainId = config.chainId || 1;
331
+ this.hubPool = this.createHubPoolContract(deps.provider);
332
+ this.acceleratingDistributor = this.createAcceleratingDistributorContract(deps.provider);
333
+ this.merkleDistributor = this.createMerkleDistributorContract(deps.provider);
334
+ this.poolEvents = new PoolEventState(this.hubPool, this.config.hubPoolStartBlock);
335
+ this.configStoreClient = new contracts_1.acrossConfigStore.Client(config.configStoreAddress, deps.provider);
336
+ }
337
+ Client.prototype.getOrCreateErc20Contract = function (address) {
338
+ if (this.erc20s[address])
339
+ return this.erc20s[address];
340
+ this.erc20s[address] = erc20.connect(address, this.deps.provider);
341
+ return this.erc20s[address];
342
+ };
343
+ Client.prototype.getOrCreatePoolContract = function () {
344
+ return this.hubPool;
345
+ };
346
+ Client.prototype.createHubPoolContract = function (signerOrProvider) {
347
+ return contracts_1.hubPool.connect(this.config.hubPoolAddress, signerOrProvider);
348
+ };
349
+ Client.prototype.getOrCreatePoolEvents = function () {
350
+ return this.poolEvents;
351
+ };
352
+ Client.prototype.createAcceleratingDistributorContract = function (signerOrProvider) {
353
+ return typechain_1.AcceleratingDistributor__factory.connect(this.config.acceleratingDistributorAddress, signerOrProvider);
354
+ };
355
+ Client.prototype.createMerkleDistributorContract = function (signerOrProvider) {
356
+ return typechain_1.MerkleDistributor__factory.connect(this.config.merkleDistributorAddress, signerOrProvider);
357
+ };
358
+ Client.prototype.getOrCreateAcceleratingDistributorContract = function () {
359
+ return this.acceleratingDistributor;
360
+ };
361
+ Client.prototype.getOrCreateMerkleDistributorContract = function () {
362
+ return this.merkleDistributor;
363
+ };
364
+ Client.prototype.getOrCreateUserService = function (userAddress, tokenAddress) {
365
+ if ((0, has_1.default)(this.userServices, [tokenAddress, userAddress]))
366
+ return (0, get_1.default)(this.userServices, [tokenAddress, userAddress]);
367
+ var erc20Contract = this.getOrCreateErc20Contract(tokenAddress);
368
+ var userService = new UserState(erc20Contract, userAddress);
369
+ (0, set_1.default)(this.userServices, [tokenAddress, userAddress], userService);
370
+ return userService;
371
+ };
372
+ Client.prototype.updateExchangeRateTable = function (l1TokenAddress, exchangeRateTable) {
373
+ if (!this.exchangeRateTable[l1TokenAddress])
374
+ this.exchangeRateTable[l1TokenAddress] = {};
375
+ this.exchangeRateTable[l1TokenAddress] = tslib_1.__assign(tslib_1.__assign({}, this.exchangeRateTable[l1TokenAddress]), exchangeRateTable);
376
+ return this.exchangeRateTable[l1TokenAddress];
377
+ };
378
+ Client.prototype.resolveStakingData = function (lpToken, l1TokenAddress, userState) {
379
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
380
+ var acceleratingDistributorContract, merkleDistributorContract, poolContract, claimList, amountOfLPClaimed, cumulativeBalance;
381
+ var _this = this;
382
+ return tslib_1.__generator(this, function (_a) {
383
+ switch (_a.label) {
384
+ case 0:
385
+ (0, assert_1.default)(this.config.acceleratingDistributorAddress, "Must have the accelerating distributor address");
386
+ (0, assert_1.default)(this.config.merkleDistributorAddress, "Must have the merkle distributor address");
387
+ acceleratingDistributorContract = this.getOrCreateAcceleratingDistributorContract();
388
+ merkleDistributorContract = this.getOrCreateMerkleDistributorContract();
389
+ poolContract = this.getOrCreatePoolContract();
390
+ return [4, merkleDistributorContract.queryFilter(merkleDistributorContract.filters.Claimed(undefined, undefined, userState.address, undefined, undefined, lpToken))];
391
+ case 1:
392
+ claimList = _a.sent();
393
+ return [4, Promise.all(claimList.map(function (claim) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
394
+ var _a, _b;
395
+ return tslib_1.__generator(this, function (_c) {
396
+ switch (_c.label) {
397
+ case 0:
398
+ _b = (_a = claim.args.amount).mul;
399
+ return [4, poolContract.callStatic.exchangeRateCurrent(l1TokenAddress, { blockTag: claim.blockNumber })];
400
+ case 1: return [2, _b.apply(_a, [_c.sent()])];
401
+ }
402
+ });
403
+ }); }))];
404
+ case 2:
405
+ amountOfLPClaimed = (_a.sent()).reduce(function (prev, acc) { return acc.add(prev); }, ethers_1.ethers.constants.Zero);
406
+ return [4, acceleratingDistributorContract.getUserStake(lpToken, userState.address)];
407
+ case 3:
408
+ cumulativeBalance = (_a.sent()).cumulativeBalance;
409
+ return [2, {
410
+ cumulativeBalance: cumulativeBalance,
411
+ amountAirdropped: amountOfLPClaimed,
412
+ }];
413
+ }
414
+ });
415
+ });
416
+ };
417
+ Client.prototype.calculateLpTransferValue = function (l1TokenAddress, userState) {
418
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
419
+ var contract, pool, blockNumbers, exchangeRateTable, _a, _b, _c, _d;
420
+ var _this = this;
421
+ return tslib_1.__generator(this, function (_e) {
422
+ switch (_e.label) {
423
+ case 0:
424
+ (0, assert_1.default)(this.config.hasArchive, "Can only calculate historical lp values with archive node");
425
+ contract = this.getOrCreatePoolContract();
426
+ pool = new PoolState(contract, this.config.hubPoolAddress);
427
+ blockNumbers = userState.transferEvents
428
+ .map(function (x) { return x.blockNumber; })
429
+ .filter(function (blockNumber) { var _a, _b; return !((_b = (_a = _this.exchangeRateTable) === null || _a === void 0 ? void 0 : _a[l1TokenAddress]) === null || _b === void 0 ? void 0 : _b[blockNumber]); });
430
+ _a = this.updateExchangeRateTable;
431
+ _b = [l1TokenAddress];
432
+ _d = (_c = Object).fromEntries;
433
+ return [4, Promise.all(blockNumbers.map(function (blockNumber) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
434
+ var _a;
435
+ return tslib_1.__generator(this, function (_b) {
436
+ switch (_b.label) {
437
+ case 0:
438
+ _a = [blockNumber];
439
+ return [4, pool.exchangeRateAtBlock(l1TokenAddress, blockNumber)];
440
+ case 1: return [2, _a.concat([_b.sent()])];
441
+ }
442
+ });
443
+ }); }))];
444
+ case 1:
445
+ exchangeRateTable = _a.apply(this, _b.concat([_d.apply(_c, [_e.sent()])]));
446
+ return [2, userState.transferEvents.reduce(function (result, transfer) {
447
+ var exchangeRate = exchangeRateTable[transfer.blockNumber];
448
+ if (transfer.args.to === userState.address) {
449
+ return result.add(transfer.args.value.mul(exchangeRate).div(utils_1.fixedPointAdjustment));
450
+ }
451
+ if (transfer.args.from === userState.address) {
452
+ return result.sub(transfer.args.value.mul(exchangeRate).div(utils_1.fixedPointAdjustment));
453
+ }
454
+ return result;
455
+ }, ethers_1.ethers.constants.Zero)];
456
+ }
457
+ });
458
+ });
459
+ };
460
+ Client.prototype.getOrCreateTransactionManager = function (signer, address) {
461
+ var _this = this;
462
+ if (this.transactionManagers[address])
463
+ return this.transactionManagers[address];
464
+ var txman = TransactionManager({ confirmations: this.config.confirmations }, signer, function (event, id, data) {
465
+ if (event === "submitted") {
466
+ _this.state.transactions[id].state = event;
467
+ _this.state.transactions[id].hash = data;
468
+ _this.emit(["transactions", id], tslib_1.__assign({}, _this.state.transactions[id]));
469
+ }
470
+ if (event === "mined") {
471
+ var txReceipt = data;
472
+ _this.state.transactions[id].state = event;
473
+ _this.state.transactions[id].receipt = txReceipt;
474
+ _this.emit(["transactions", id], tslib_1.__assign({}, _this.state.transactions[id]));
475
+ var tx = _this.state.transactions[id];
476
+ _this.updateUserWithTransaction(tx.fromAddress, txReceipt).catch(function (err) {
477
+ _this.emit(["error"], err);
478
+ });
479
+ }
480
+ if (event === "error") {
481
+ _this.state.transactions[id].state = event;
482
+ _this.state.transactions[id].error = data;
483
+ _this.emit(["transactions", id], tslib_1.__assign({}, _this.state.transactions[id]));
484
+ }
485
+ });
486
+ this.transactionManagers[address] = txman;
487
+ return txman;
488
+ };
489
+ Client.prototype.addEthLiquidity = function (signer, l1TokenAmount, overrides) {
490
+ if (overrides === void 0) { overrides = {}; }
491
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
492
+ var _a, hubPoolAddress, l1Token, userAddress, contract, txman, request, id;
493
+ return tslib_1.__generator(this, function (_b) {
494
+ switch (_b.label) {
495
+ case 0:
496
+ _a = this.config, hubPoolAddress = _a.hubPoolAddress, l1Token = _a.wethAddress;
497
+ return [4, signer.getAddress()];
498
+ case 1:
499
+ userAddress = _b.sent();
500
+ contract = this.getOrCreatePoolContract();
501
+ txman = this.getOrCreateTransactionManager(signer, userAddress);
502
+ return [4, contract.populateTransaction.addLiquidity(l1Token, l1TokenAmount, tslib_1.__assign(tslib_1.__assign({}, overrides), { value: l1TokenAmount }))];
503
+ case 2:
504
+ request = _b.sent();
505
+ id = txman.request(request);
506
+ this.state.transactions[id] = {
507
+ id: id,
508
+ state: "requested",
509
+ toAddress: hubPoolAddress,
510
+ fromAddress: userAddress,
511
+ type: "Add Liquidity",
512
+ description: "Adding ETH to pool",
513
+ request: request,
514
+ };
515
+ this.emit(["transactions", id], tslib_1.__assign({}, this.state.transactions[id]));
516
+ return [4, txman.update()];
517
+ case 3:
518
+ _b.sent();
519
+ return [2, id];
520
+ }
521
+ });
522
+ });
523
+ };
524
+ Client.prototype.addTokenLiquidity = function (signer, l1Token, l1TokenAmount, overrides) {
525
+ if (overrides === void 0) { overrides = {}; }
526
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
527
+ var hubPoolAddress, userAddress, contract, txman, request, id;
528
+ return tslib_1.__generator(this, function (_a) {
529
+ switch (_a.label) {
530
+ case 0:
531
+ hubPoolAddress = this.config.hubPoolAddress;
532
+ return [4, signer.getAddress()];
533
+ case 1:
534
+ userAddress = _a.sent();
535
+ contract = this.getOrCreatePoolContract();
536
+ txman = this.getOrCreateTransactionManager(signer, userAddress);
537
+ return [4, contract.populateTransaction.addLiquidity(l1Token, l1TokenAmount, overrides)];
538
+ case 2:
539
+ request = _a.sent();
540
+ return [4, txman.request(request)];
541
+ case 3:
542
+ id = _a.sent();
543
+ this.state.transactions[id] = {
544
+ id: id,
545
+ state: "requested",
546
+ toAddress: hubPoolAddress,
547
+ fromAddress: userAddress,
548
+ type: "Add Liquidity",
549
+ description: "Adding Tokens to pool",
550
+ request: request,
551
+ };
552
+ this.emit(["transactions", id], tslib_1.__assign({}, this.state.transactions[id]));
553
+ return [4, txman.update()];
554
+ case 4:
555
+ _a.sent();
556
+ return [2, id];
557
+ }
558
+ });
559
+ });
560
+ };
561
+ Client.prototype.validateWithdraw = function (l1Token, userAddress, lpAmount) {
562
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
563
+ var poolState, userState;
564
+ return tslib_1.__generator(this, function (_a) {
565
+ switch (_a.label) {
566
+ case 0: return [4, this.updatePool(l1Token)];
567
+ case 1:
568
+ _a.sent();
569
+ poolState = this.getPoolState(l1Token);
570
+ if (!!this.hasUserState(l1Token, userAddress)) return [3, 3];
571
+ return [4, this.updateUser(l1Token, userAddress)];
572
+ case 2:
573
+ _a.sent();
574
+ _a.label = 3;
575
+ case 3:
576
+ userState = this.getUserState(poolState.l1Token, userAddress);
577
+ return [2, validateWithdraw(poolState, userState, lpAmount)];
578
+ }
579
+ });
580
+ });
581
+ };
582
+ Client.prototype.removeTokenLiquidity = function (signer, l1Token, lpTokenAmount, overrides) {
583
+ if (overrides === void 0) { overrides = {}; }
584
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
585
+ var hubPoolAddress, userAddress, contract, txman, request, id;
586
+ return tslib_1.__generator(this, function (_a) {
587
+ switch (_a.label) {
588
+ case 0:
589
+ hubPoolAddress = this.config.hubPoolAddress;
590
+ return [4, signer.getAddress()];
591
+ case 1:
592
+ userAddress = _a.sent();
593
+ return [4, this.validateWithdraw(l1Token, userAddress, lpTokenAmount)];
594
+ case 2:
595
+ _a.sent();
596
+ contract = this.getOrCreatePoolContract();
597
+ txman = this.getOrCreateTransactionManager(signer, userAddress);
598
+ return [4, contract.populateTransaction.removeLiquidity(l1Token, lpTokenAmount, false, overrides)];
599
+ case 3:
600
+ request = _a.sent();
601
+ return [4, txman.request(request)];
602
+ case 4:
603
+ id = _a.sent();
604
+ this.state.transactions[id] = {
605
+ id: id,
606
+ state: "requested",
607
+ toAddress: hubPoolAddress,
608
+ fromAddress: userAddress,
609
+ type: "Remove Liquidity",
610
+ description: "Withdrawing Tokens from pool",
611
+ request: request,
612
+ };
613
+ this.emit(["transactions", id], tslib_1.__assign({}, this.state.transactions[id]));
614
+ return [4, txman.update()];
615
+ case 5:
616
+ _a.sent();
617
+ return [2, id];
618
+ }
619
+ });
620
+ });
621
+ };
622
+ Client.prototype.removeEthliquidity = function (signer, lpTokenAmount, overrides) {
623
+ if (overrides === void 0) { overrides = {}; }
624
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
625
+ var _a, hubPoolAddress, l1Token, userAddress, contract, txman, request, id;
626
+ return tslib_1.__generator(this, function (_b) {
627
+ switch (_b.label) {
628
+ case 0:
629
+ _a = this.config, hubPoolAddress = _a.hubPoolAddress, l1Token = _a.wethAddress;
630
+ return [4, signer.getAddress()];
631
+ case 1:
632
+ userAddress = _b.sent();
633
+ return [4, this.validateWithdraw(l1Token, userAddress, lpTokenAmount)];
634
+ case 2:
635
+ _b.sent();
636
+ contract = this.getOrCreatePoolContract();
637
+ txman = this.getOrCreateTransactionManager(signer, userAddress);
638
+ return [4, contract.populateTransaction.removeLiquidity(l1Token, lpTokenAmount, true, overrides)];
639
+ case 3:
640
+ request = _b.sent();
641
+ return [4, txman.request(request)];
642
+ case 4:
643
+ id = _b.sent();
644
+ this.state.transactions[id] = {
645
+ id: id,
646
+ state: "requested",
647
+ toAddress: hubPoolAddress,
648
+ fromAddress: userAddress,
649
+ type: "Remove Liquidity",
650
+ description: "Withdrawing Eth from pool",
651
+ request: request,
652
+ };
653
+ this.emit(["transactions", id], tslib_1.__assign({}, this.state.transactions[id]));
654
+ return [4, txman.update()];
655
+ case 5:
656
+ _b.sent();
657
+ return [2, id];
658
+ }
659
+ });
660
+ });
661
+ };
662
+ Client.prototype.getPoolState = function (l1TokenAddress) {
663
+ return this.state.pools[l1TokenAddress];
664
+ };
665
+ Client.prototype.hasPoolState = function (l1TokenAddress) {
666
+ return Boolean(this.state.pools[l1TokenAddress]);
667
+ };
668
+ Client.prototype.setUserState = function (l1TokenAddress, userAddress, state) {
669
+ (0, set_1.default)(this.state, ["users", userAddress, l1TokenAddress], state);
670
+ return state;
671
+ };
672
+ Client.prototype.getUserState = function (l1TokenAddress, userAddress) {
673
+ return (0, get_1.default)(this.state, ["users", userAddress, l1TokenAddress]);
674
+ };
675
+ Client.prototype.hasUserState = function (l1TokenAddress, userAddress) {
676
+ return (0, has_1.default)(this.state, ["users", userAddress, l1TokenAddress]);
677
+ };
678
+ Client.prototype.hasTxState = function (id) {
679
+ return (0, has_1.default)(this.state, ["transactions", id]);
680
+ };
681
+ Client.prototype.getTxState = function (id) {
682
+ return (0, get_1.default)(this.state, ["transactions", id]);
683
+ };
684
+ Client.prototype.updateAndEmitUser = function (userState, poolState, poolEventState) {
685
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
686
+ var l1TokenAddress, lpToken, userAddress, transferValue, _a, stakeData, tokenEventState, newUserState;
687
+ return tslib_1.__generator(this, function (_b) {
688
+ switch (_b.label) {
689
+ case 0:
690
+ l1TokenAddress = poolState.l1Token, lpToken = poolState.lpToken;
691
+ userAddress = userState.address;
692
+ if (!this.config.hasArchive) return [3, 2];
693
+ return [4, this.calculateLpTransferValue(l1TokenAddress, userState)];
694
+ case 1:
695
+ _a = _b.sent();
696
+ return [3, 3];
697
+ case 2:
698
+ _a = ethers_1.ethers.constants.Zero;
699
+ _b.label = 3;
700
+ case 3:
701
+ transferValue = _a;
702
+ return [4, this.resolveStakingData(lpToken, l1TokenAddress, userState)];
703
+ case 4:
704
+ stakeData = _b.sent();
705
+ tokenEventState = poolEventState[l1TokenAddress];
706
+ newUserState = this.setUserState(l1TokenAddress, userAddress, joinUserState(poolState, tokenEventState, userState, transferValue, stakeData.cumulativeBalance, stakeData.amountAirdropped));
707
+ this.emit(["users", userAddress, l1TokenAddress], newUserState);
708
+ return [2];
709
+ }
710
+ });
711
+ });
712
+ };
713
+ Client.prototype.updateUserWithTransaction = function (userAddress, txReceipt) {
714
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
715
+ var latestBlock, getPoolEventState, l1TokenAddress, poolState, poolEventState, lpToken, getUserState, userState;
716
+ return tslib_1.__generator(this, function (_a) {
717
+ switch (_a.label) {
718
+ case 0: return [4, this.deps.provider.getBlock("latest")];
719
+ case 1:
720
+ latestBlock = _a.sent();
721
+ getPoolEventState = this.getOrCreatePoolEvents();
722
+ l1TokenAddress = getPoolEventState.getL1TokenFromReceipt(txReceipt);
723
+ return [4, this.updatePool(l1TokenAddress, latestBlock)];
724
+ case 2:
725
+ _a.sent();
726
+ poolState = this.getPoolState(l1TokenAddress);
727
+ poolEventState = getPoolEventState.readTxReceipt(txReceipt);
728
+ lpToken = poolState.lpToken;
729
+ getUserState = this.getOrCreateUserService(userAddress, lpToken);
730
+ return [4, getUserState.read(latestBlock.number)];
731
+ case 3:
732
+ userState = _a.sent();
733
+ return [4, this.updateAndEmitUser(userState, poolState, poolEventState)];
734
+ case 4:
735
+ _a.sent();
736
+ return [2];
737
+ }
738
+ });
739
+ });
740
+ };
741
+ Client.prototype.updateUser = function (userAddress, l1TokenAddress) {
742
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
743
+ var latestBlock, poolState, lpToken, getPoolEventState, poolEventState, getUserState, userState;
744
+ return tslib_1.__generator(this, function (_a) {
745
+ switch (_a.label) {
746
+ case 0: return [4, this.deps.provider.getBlock("latest")];
747
+ case 1:
748
+ latestBlock = _a.sent();
749
+ return [4, this.updatePool(l1TokenAddress, latestBlock)];
750
+ case 2:
751
+ _a.sent();
752
+ poolState = this.getPoolState(l1TokenAddress);
753
+ lpToken = poolState.lpToken;
754
+ getPoolEventState = this.getOrCreatePoolEvents();
755
+ return [4, getPoolEventState.read(latestBlock.number, l1TokenAddress, userAddress)];
756
+ case 3:
757
+ poolEventState = _a.sent();
758
+ getUserState = this.getOrCreateUserService(userAddress, lpToken);
759
+ return [4, getUserState.read(latestBlock.number)];
760
+ case 4:
761
+ userState = _a.sent();
762
+ return [4, this.updateAndEmitUser(userState, poolState, poolEventState)];
763
+ case 5:
764
+ _a.sent();
765
+ return [2];
766
+ }
767
+ });
768
+ });
769
+ };
770
+ Client.prototype.updatePool = function (l1TokenAddress, overrideLatestBlock) {
771
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
772
+ var _a, blockDelta, contract, pool, latestBlock, _b, previousBlock, state, rateModel, err_1;
773
+ return tslib_1.__generator(this, function (_c) {
774
+ switch (_c.label) {
775
+ case 0:
776
+ _a = this.config.blockDelta, blockDelta = _a === void 0 ? DEFAULT_BLOCK_DELTA : _a;
777
+ contract = this.getOrCreatePoolContract();
778
+ pool = new PoolState(contract, this.config.hubPoolAddress);
779
+ _b = overrideLatestBlock;
780
+ if (_b) return [3, 2];
781
+ return [4, this.deps.provider.getBlock("latest")];
782
+ case 1:
783
+ _b = (_c.sent());
784
+ _c.label = 2;
785
+ case 2:
786
+ latestBlock = _b;
787
+ return [4, this.deps.provider.getBlock(latestBlock.number - blockDelta)];
788
+ case 3:
789
+ previousBlock = _c.sent();
790
+ return [4, pool.read(l1TokenAddress, latestBlock.number, previousBlock.number)];
791
+ case 4:
792
+ state = _c.sent();
793
+ rateModel = undefined;
794
+ _c.label = 5;
795
+ case 5:
796
+ _c.trys.push([5, 7, , 8]);
797
+ return [4, this.configStoreClient.getRateModel(l1TokenAddress)];
798
+ case 6:
799
+ rateModel = _c.sent();
800
+ return [3, 8];
801
+ case 7:
802
+ err_1 = _c.sent();
803
+ this.emit(["error"], err_1);
804
+ return [3, 8];
805
+ case 8:
806
+ this.state.pools[l1TokenAddress] = joinPoolState(state, latestBlock, previousBlock, rateModel);
807
+ this.emit(["pools", l1TokenAddress], this.state.pools[l1TokenAddress]);
808
+ return [2];
809
+ }
810
+ });
811
+ });
812
+ };
813
+ Client.prototype.updateTransactions = function () {
814
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
815
+ var _i, _a, txMan, err_2;
816
+ return tslib_1.__generator(this, function (_b) {
817
+ switch (_b.label) {
818
+ case 0:
819
+ _i = 0, _a = Object.values(this.transactionManagers);
820
+ _b.label = 1;
821
+ case 1:
822
+ if (!(_i < _a.length)) return [3, 6];
823
+ txMan = _a[_i];
824
+ _b.label = 2;
825
+ case 2:
826
+ _b.trys.push([2, 4, , 5]);
827
+ return [4, txMan.update()];
828
+ case 3:
829
+ _b.sent();
830
+ return [3, 5];
831
+ case 4:
832
+ err_2 = _b.sent();
833
+ this.emit(["error"], err_2);
834
+ return [3, 5];
835
+ case 5:
836
+ _i++;
837
+ return [3, 1];
838
+ case 6: return [2];
839
+ }
840
+ });
841
+ });
842
+ };
843
+ Client.prototype.startInterval = function (delayMs) {
844
+ var _this = this;
845
+ if (delayMs === void 0) { delayMs = 30000; }
846
+ (0, assert_1.default)(!this.intervalStarted, "Interval already started, try stopping first");
847
+ this.intervalStarted = true;
848
+ loop(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
849
+ return tslib_1.__generator(this, function (_a) {
850
+ switch (_a.label) {
851
+ case 0:
852
+ (0, assert_1.default)(this.intervalStarted, "HubPool Interval Stopped");
853
+ return [4, this.updateTransactions()];
854
+ case 1:
855
+ _a.sent();
856
+ return [2];
857
+ }
858
+ });
859
+ }); }, delayMs).catch(function (err) {
860
+ _this.emit(["error"], err);
861
+ });
862
+ };
863
+ Client.prototype.stopInterval = function () {
864
+ this.intervalStarted = false;
865
+ };
866
+ return Client;
867
+ }());
868
+ exports.Client = Client;
869
+ //# sourceMappingURL=poolClient.js.map