@paraswap/dex-lib 4.8.10 → 4.8.11

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 (265) hide show
  1. package/build/abi/{apex-defi/ApexDefiRouter.abi.json → BProtocol.json} +573 -538
  2. package/build/abi/Jarvis.json +1172 -0
  3. package/build/abi/{apex-defi/ApexDefiFactory.abi.json → MStableAsset.json} +781 -985
  4. package/build/abi/{apex-defi/ApexDefiWrapperFactory.abi.json → OneInchLp.json} +766 -569
  5. package/build/abi/Onebit.json +736 -0
  6. package/build/abi/Shell.json +1294 -0
  7. package/build/abi/TraderJoeV2Router.json +50 -0
  8. package/build/abi/wUSDM.json +757 -0
  9. package/build/abi/zrx.v2.json +1967 -0
  10. package/build/abi/zrx.v3.json +3454 -0
  11. package/build/abi/zrx.v4.json +2193 -0
  12. package/build/dex/OneInchLp.d.ts +24 -0
  13. package/build/dex/OneInchLp.js +43 -0
  14. package/build/dex/OneInchLp.js.map +1 -0
  15. package/build/dex/algebra-integral/config.js +1 -1
  16. package/build/dex/algebra-integral/config.js.map +1 -1
  17. package/build/dex/algebra-integral/forks/blackhole-cl.js.map +1 -1
  18. package/build/dex/bProtocol/bProtocol.d.ts +15 -0
  19. package/build/dex/bProtocol/bProtocol.js +56 -0
  20. package/build/dex/bProtocol/bProtocol.js.map +1 -0
  21. package/build/dex/bProtocol/types.d.ts +11 -0
  22. package/build/dex/bProtocol/types.js +8 -0
  23. package/build/dex/bProtocol/types.js.map +1 -0
  24. package/build/dex/balancer-v3/balancer-v3-pool.js +2 -2
  25. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -1
  26. package/build/dex/cables/cables.js +1 -5
  27. package/build/dex/cables/cables.js.map +1 -1
  28. package/build/dex/curve-v1/pools/curve-metapool.js +58 -58
  29. package/build/dex/curve-v1/pools/curve-metapool.js.map +1 -1
  30. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.d.ts +1 -1
  31. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js +2 -3
  32. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
  33. package/build/dex/fluid-dex/fluid-dex-pool.js +1 -1
  34. package/build/dex/fluid-dex/fluid-dex-pool.js.map +1 -1
  35. package/build/dex/infusion/infusion-stable-pool.d.ts +1 -1
  36. package/build/dex/infusion/infusion-stable-pool.js +1 -1
  37. package/build/dex/infusion/infusion-stable-pool.js.map +1 -1
  38. package/build/dex/infusion/infusion.d.ts +3 -3
  39. package/build/dex/infusion/infusion.js +104 -65
  40. package/build/dex/infusion/infusion.js.map +1 -1
  41. package/build/dex/jarvis.d.ts +56 -0
  42. package/build/dex/jarvis.js +163 -0
  43. package/build/dex/jarvis.js.map +1 -0
  44. package/build/dex/lite-psm/lite-psm-event-pool.js +1 -1
  45. package/build/dex/lite-psm/lite-psm-event-pool.js.map +1 -1
  46. package/build/dex/mStable.d.ts +44 -0
  47. package/build/dex/mStable.js +75 -0
  48. package/build/dex/mStable.js.map +1 -0
  49. package/build/dex/onebit/onebit.d.ts +16 -0
  50. package/build/dex/onebit/onebit.js +61 -0
  51. package/build/dex/onebit/onebit.js.map +1 -0
  52. package/build/dex/onebit/types.d.ts +14 -0
  53. package/build/dex/onebit/types.js +8 -0
  54. package/build/dex/onebit/types.js.map +1 -0
  55. package/build/dex/{yo → se-vlr}/config.d.ts +1 -1
  56. package/build/dex/se-vlr/config.js +24 -0
  57. package/build/dex/se-vlr/config.js.map +1 -0
  58. package/build/dex/{stabull/stabull-pool.d.ts → se-vlr/se-vlr-pool.d.ts} +6 -13
  59. package/build/dex/se-vlr/se-vlr-pool.js +70 -0
  60. package/build/dex/se-vlr/se-vlr-pool.js.map +1 -0
  61. package/build/dex/se-vlr/se-vlr.d.ts +35 -0
  62. package/build/dex/se-vlr/se-vlr.js +131 -0
  63. package/build/dex/se-vlr/se-vlr.js.map +1 -0
  64. package/build/dex/se-vlr/types.d.ts +6 -0
  65. package/build/dex/{yo → se-vlr}/types.js.map +1 -1
  66. package/build/dex/shell.d.ts +25 -0
  67. package/build/dex/shell.js +41 -0
  68. package/build/dex/shell.js.map +1 -0
  69. package/build/dex/solidly/forks-override/aerodrome.d.ts +1 -1
  70. package/build/dex/solidly/forks-override/aerodrome.js +14 -18
  71. package/build/dex/solidly/forks-override/aerodrome.js.map +1 -1
  72. package/build/dex/trader-joe-v2.d.ts +40 -0
  73. package/build/dex/trader-joe-v2.js +74 -0
  74. package/build/dex/trader-joe-v2.js.map +1 -0
  75. package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +94 -0
  76. package/build/dex/uniswap-v3/uniswap-v3-new.js +923 -0
  77. package/build/dex/uniswap-v3/uniswap-v3-new.js.map +1 -0
  78. package/build/dex/uniswap-v4/contract-math/Position.d.ts +0 -6
  79. package/build/dex/uniswap-v4/contract-math/Position.js +0 -29
  80. package/build/dex/uniswap-v4/contract-math/Position.js.map +1 -1
  81. package/build/dex/{stabull → usual-bond}/config.d.ts +1 -1
  82. package/build/dex/usual-bond/config.js +13 -0
  83. package/build/dex/usual-bond/config.js.map +1 -0
  84. package/build/dex/usual-bond/types.d.ts +7 -0
  85. package/build/dex/{stabull → usual-bond}/types.js.map +1 -1
  86. package/build/dex/{aave-pt-to-underlying/aave-pt-to-underlying.d.ts → usual-bond/usual-bond.d.ts} +18 -23
  87. package/build/dex/usual-bond/usual-bond.js +176 -0
  88. package/build/dex/usual-bond/usual-bond.js.map +1 -0
  89. package/build/dex/usual-pp/pool.js +13 -11
  90. package/build/dex/usual-pp/pool.js.map +1 -1
  91. package/build/dex/wusdm/config.d.ts +3 -0
  92. package/build/dex/wusdm/config.js +43 -0
  93. package/build/dex/wusdm/config.js.map +1 -0
  94. package/build/dex/wusdm/constants.d.ts +2 -0
  95. package/build/dex/wusdm/constants.js +6 -0
  96. package/build/dex/wusdm/constants.js.map +1 -0
  97. package/build/dex/wusdm/types.d.ts +18 -0
  98. package/build/dex/wusdm/types.js +11 -0
  99. package/build/dex/wusdm/types.js.map +1 -0
  100. package/build/dex/wusdm/wusdm-pool.d.ts +21 -0
  101. package/build/dex/wusdm/wusdm-pool.js +74 -0
  102. package/build/dex/wusdm/wusdm-pool.js.map +1 -0
  103. package/build/dex/wusdm/wusdm.d.ts +46 -0
  104. package/build/dex/wusdm/wusdm.js +243 -0
  105. package/build/dex/wusdm/wusdm.js.map +1 -0
  106. package/build/dex/zerox/config.d.ts +2 -0
  107. package/build/dex/zerox/config.js +33 -0
  108. package/build/dex/zerox/config.js.map +1 -0
  109. package/build/dex/zerox/index.d.ts +22 -0
  110. package/build/dex/zerox/index.js +225 -0
  111. package/build/dex/zerox/index.js.map +1 -0
  112. package/build/dex/zerox/order.d.ts +88 -0
  113. package/build/dex/zerox/order.js +53 -0
  114. package/build/dex/zerox/order.js.map +1 -0
  115. package/build/dex/zerox/types.d.ts +73 -0
  116. package/build/dex/zerox/types.js +21 -0
  117. package/build/dex/zerox/types.js.map +1 -0
  118. package/build/executor/Executor01BytecodeBuilder.js +2 -2
  119. package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
  120. package/build/executor/Executor02BytecodeBuilder.js +2 -2
  121. package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
  122. package/package.json +1 -1
  123. package/build/abi/PendleRouterStatic.json +0 -19
  124. package/build/abi/apex-defi/ApexDefiToken.abi.json +0 -229
  125. package/build/abi/apex-defi/ApexDefiWrapper.abi.json +0 -92
  126. package/build/abi/clear/ClearFactory.json +0 -71
  127. package/build/abi/clear/ClearSwap.json +0 -334
  128. package/build/abi/clear/ClearVault.json +0 -20
  129. package/build/abi/pangolin-v3/PangolinV3StateMulticall.abi.json +0 -796
  130. package/build/abi/pendle/pendle-deployer.abi.json +0 -520
  131. package/build/abi/pendle/pendle-oracle.abi.json +0 -413
  132. package/build/abi/ring-v2/few-wrapped-token.json +0 -587
  133. package/build/abi/ring-v2/ring-v2-factory.json +0 -125
  134. package/build/abi/ring-v2/ring-v2-pool.json +0 -461
  135. package/build/abi/ring-v2/ring-v2-router.json +0 -332
  136. package/build/abi/stabull/stabull-curve.json +0 -738
  137. package/build/abi/stabull/stabull-router.json +0 -76
  138. package/build/abi/uniswap-v4/hooks/SpotDynamicFeeManager.json +0 -26
  139. package/build/abi/uniswap-v4/hooks/SpotHook.json +0 -54
  140. package/build/abi/uniswap-v4/hooks/SpotPolicyManager.json +0 -45
  141. package/build/abi/uniswap-v4/hooks/cabalcoin-hook.abi.json +0 -682
  142. package/build/abi/uniswap-v4/hooks/fee-hook.abi.json +0 -1335
  143. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.d.ts +0 -29
  144. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js +0 -153
  145. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js.map +0 -1
  146. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js +0 -323
  147. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js.map +0 -1
  148. package/build/dex/aave-pt-to-underlying/config.d.ts +0 -3
  149. package/build/dex/aave-pt-to-underlying/config.js +0 -24
  150. package/build/dex/aave-pt-to-underlying/config.js.map +0 -1
  151. package/build/dex/aave-pt-to-underlying/constants.d.ts +0 -2
  152. package/build/dex/aave-pt-to-underlying/constants.js +0 -6
  153. package/build/dex/aave-pt-to-underlying/constants.js.map +0 -1
  154. package/build/dex/aave-pt-to-underlying/types.d.ts +0 -24
  155. package/build/dex/aave-pt-to-underlying/types.js.map +0 -1
  156. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.d.ts +0 -39
  157. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js +0 -244
  158. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js.map +0 -1
  159. package/build/dex/aave-pt-to-usdc/config.d.ts +0 -3
  160. package/build/dex/aave-pt-to-usdc/config.js +0 -47
  161. package/build/dex/aave-pt-to-usdc/config.js.map +0 -1
  162. package/build/dex/aave-pt-to-usdc/constants.d.ts +0 -2
  163. package/build/dex/aave-pt-to-usdc/constants.js +0 -6
  164. package/build/dex/aave-pt-to-usdc/constants.js.map +0 -1
  165. package/build/dex/aave-pt-to-usdc/types.d.ts +0 -22
  166. package/build/dex/aave-pt-to-usdc/types.js.map +0 -1
  167. package/build/dex/apex-defi/apex-defi-factory.d.ts +0 -26
  168. package/build/dex/apex-defi/apex-defi-factory.js +0 -53
  169. package/build/dex/apex-defi/apex-defi-factory.js.map +0 -1
  170. package/build/dex/apex-defi/apex-defi-pool.d.ts +0 -55
  171. package/build/dex/apex-defi/apex-defi-pool.js +0 -247
  172. package/build/dex/apex-defi/apex-defi-pool.js.map +0 -1
  173. package/build/dex/apex-defi/apex-defi-wrapper-factory.d.ts +0 -57
  174. package/build/dex/apex-defi/apex-defi-wrapper-factory.js +0 -250
  175. package/build/dex/apex-defi/apex-defi-wrapper-factory.js.map +0 -1
  176. package/build/dex/apex-defi/apex-defi.d.ts +0 -97
  177. package/build/dex/apex-defi/apex-defi.js +0 -1021
  178. package/build/dex/apex-defi/apex-defi.js.map +0 -1
  179. package/build/dex/apex-defi/config.d.ts +0 -4
  180. package/build/dex/apex-defi/config.js +0 -138
  181. package/build/dex/apex-defi/config.js.map +0 -1
  182. package/build/dex/apex-defi/types.d.ts +0 -32
  183. package/build/dex/apex-defi/types.js +0 -3
  184. package/build/dex/apex-defi/types.js.map +0 -1
  185. package/build/dex/apex-defi/utils.d.ts +0 -46
  186. package/build/dex/apex-defi/utils.js +0 -133
  187. package/build/dex/apex-defi/utils.js.map +0 -1
  188. package/build/dex/clear/clear-factory.d.ts +0 -33
  189. package/build/dex/clear/clear-factory.js +0 -123
  190. package/build/dex/clear/clear-factory.js.map +0 -1
  191. package/build/dex/clear/clear.d.ts +0 -53
  192. package/build/dex/clear/clear.js +0 -311
  193. package/build/dex/clear/clear.js.map +0 -1
  194. package/build/dex/clear/config.d.ts +0 -3
  195. package/build/dex/clear/config.js +0 -14
  196. package/build/dex/clear/config.js.map +0 -1
  197. package/build/dex/clear/types.d.ts +0 -18
  198. package/build/dex/clear/types.js +0 -3
  199. package/build/dex/clear/types.js.map +0 -1
  200. package/build/dex/maker-psm/maker-psm-event-pool.d.ts +0 -43
  201. package/build/dex/maker-psm/maker-psm-event-pool.js +0 -132
  202. package/build/dex/maker-psm/maker-psm-event-pool.js.map +0 -1
  203. package/build/dex/miro-migrator/miro-migrator-state.d.ts +0 -27
  204. package/build/dex/miro-migrator/miro-migrator-state.js +0 -89
  205. package/build/dex/miro-migrator/miro-migrator-state.js.map +0 -1
  206. package/build/dex/stabull/config.js +0 -177
  207. package/build/dex/stabull/config.js.map +0 -1
  208. package/build/dex/stabull/stabull-pool.js +0 -113
  209. package/build/dex/stabull/stabull-pool.js.map +0 -1
  210. package/build/dex/stabull/stabull.d.ts +0 -55
  211. package/build/dex/stabull/stabull.js +0 -286
  212. package/build/dex/stabull/stabull.js.map +0 -1
  213. package/build/dex/stabull/types.d.ts +0 -21
  214. package/build/dex/stabull/types.js +0 -3
  215. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.d.ts +0 -4
  216. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +0 -56
  217. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +0 -1
  218. package/build/dex/uniswap-v4/hooks/arena.d.ts +0 -6
  219. package/build/dex/uniswap-v4/hooks/arena.js +0 -10
  220. package/build/dex/uniswap-v4/hooks/arena.js.map +0 -1
  221. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.d.ts +0 -0
  222. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js +0 -2
  223. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js.map +0 -1
  224. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.d.ts +0 -7
  225. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js +0 -28
  226. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js.map +0 -1
  227. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.d.ts +0 -0
  228. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js +0 -2
  229. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js.map +0 -1
  230. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.d.ts +0 -7
  231. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js +0 -28
  232. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js.map +0 -1
  233. package/build/dex/uniswap-v4/hooks/fee-hook/types.d.ts +0 -0
  234. package/build/dex/uniswap-v4/hooks/fee-hook/types.js +0 -2
  235. package/build/dex/uniswap-v4/hooks/fee-hook/types.js.map +0 -1
  236. package/build/dex/uniswap-v4/hooks/index.d.ts +0 -1
  237. package/build/dex/uniswap-v4/hooks/index.js +0 -18
  238. package/build/dex/uniswap-v4/hooks/index.js.map +0 -1
  239. package/build/dex/uniswap-v4/hooks/spot.d.ts +0 -15
  240. package/build/dex/uniswap-v4/hooks/spot.js +0 -109
  241. package/build/dex/uniswap-v4/hooks/spot.js.map +0 -1
  242. package/build/dex/uniswap-v4/hooks/template.d.ts +0 -150
  243. package/build/dex/uniswap-v4/hooks/template.js +0 -104
  244. package/build/dex/uniswap-v4/hooks/template.js.map +0 -1
  245. package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +0 -26
  246. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +0 -75
  247. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +0 -1
  248. package/build/dex/usual/usual-usdc-usdc.d.ts +0 -17
  249. package/build/dex/usual/usual-usdc-usdc.js +0 -59
  250. package/build/dex/usual/usual-usdc-usdc.js.map +0 -1
  251. package/build/dex/yo/config.js +0 -21
  252. package/build/dex/yo/config.js.map +0 -1
  253. package/build/dex/yo/types.d.ts +0 -13
  254. package/build/dex/yo/types.js +0 -3
  255. package/build/dex/yo/yo-pool.d.ts +0 -13
  256. package/build/dex/yo/yo-pool.js +0 -26
  257. package/build/dex/yo/yo-pool.js.map +0 -1
  258. package/build/dex/yo/yo.d.ts +0 -39
  259. package/build/dex/yo/yo.js +0 -248
  260. package/build/dex/yo/yo.js.map +0 -1
  261. package/build/implementations/api-paraswap-sdk.d.ts +0 -25
  262. package/build/implementations/api-paraswap-sdk.js +0 -102
  263. package/build/implementations/api-paraswap-sdk.js.map +0 -1
  264. /package/build/dex/{aave-pt-to-underlying → se-vlr}/types.js +0 -0
  265. /package/build/dex/{aave-pt-to-usdc → usual-bond}/types.js +0 -0
@@ -1,53 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { Logger, Token, Address, PoolPrices, AdapterExchangeParam, PoolLiquidity, ExchangePrices, DexExchangeParam } from '../../types';
3
- import { IDexHelper } from '../../dex-helper/idex-helper';
4
- import { IDex } from '../idex';
5
- import { SimpleExchange } from '../simple-exchange';
6
- import { ClearData, DexParams } from './types';
7
- import { Network, SwapSide } from '../../constants';
8
- import { NumberAsString } from '@paraswap/core';
9
- import { ClearFactory } from './clear-factory';
10
- /**
11
- * Clear DEX Integration for ParaSwap
12
- *
13
- * Clear is a depeg arbitrage protocol for stablecoins
14
- * - Vaults contain N tokens (multi-token, not pairs)
15
- * - Pricing via ClearSwap.previewSwap() - returns 0 when no depeg
16
- * - Discovery via StatefulEventSubscriber (getters + NewClearVault events)
17
- * - Each (vault, tokenA, tokenB) combination = one "pool" for ParaSwap
18
- */
19
- export declare class Clear extends SimpleExchange implements IDex<ClearData> {
20
- readonly network: Network;
21
- readonly dexKey: string;
22
- readonly dexHelper: IDexHelper;
23
- logger: Logger;
24
- protected config: DexParams;
25
- protected factory: ClearFactory;
26
- readonly hasConstantPriceLargeAmounts = false;
27
- readonly isFeeOnTransferSupported = false;
28
- static dexKeysWithNetwork: {
29
- key: string;
30
- networks: Network[];
31
- }[];
32
- readonly clearSwapIface: Interface;
33
- readonly clearVaultIface: Interface;
34
- private vaults;
35
- constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
36
- getAdapters(_side: SwapSide): null;
37
- initializePricing(blockNumber: number): Promise<void>;
38
- getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
39
- getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<ClearData>>;
40
- getAdapterParam(): AdapterExchangeParam;
41
- getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: ClearData, _side: SwapSide): DexExchangeParam;
42
- /**
43
- * Gas cost for exchangeData calldata
44
- * swap(address recipient, address vault, address srcToken, address destToken, uint256 srcAmount, uint256 destAmount, bool useIous)
45
- */
46
- getCalldataGasCost(_poolPrices: PoolPrices<ClearData>): number | number[];
47
- /**
48
- * Fetch vaults with tokens, decimals and TVL for getTopPoolsForToken
49
- * This method is called by PoolTracker service which doesn't call initializePricing
50
- */
51
- updatePoolState(): Promise<void>;
52
- getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
53
- }
@@ -1,311 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.Clear = void 0;
40
- const abi_1 = require("@ethersproject/abi");
41
- const simple_exchange_1 = require("../simple-exchange");
42
- const config_1 = require("./config");
43
- const constants_1 = require("../../constants");
44
- const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
45
- const utils_1 = require("../../utils");
46
- const ClearSwap_json_1 = __importDefault(require("../../abi/clear/ClearSwap.json"));
47
- const ClearVault_json_1 = __importDefault(require("../../abi/clear/ClearVault.json"));
48
- const clear_factory_1 = require("./clear-factory");
49
- const decoders_1 = require("../../lib/decoders");
50
- const utils_2 = require("../../executor/utils");
51
- const CLEAR_GAS_COST = 150_000;
52
- /**
53
- * Clear DEX Integration for ParaSwap
54
- *
55
- * Clear is a depeg arbitrage protocol for stablecoins
56
- * - Vaults contain N tokens (multi-token, not pairs)
57
- * - Pricing via ClearSwap.previewSwap() - returns 0 when no depeg
58
- * - Discovery via StatefulEventSubscriber (getters + NewClearVault events)
59
- * - Each (vault, tokenA, tokenB) combination = one "pool" for ParaSwap
60
- */
61
- class Clear extends simple_exchange_1.SimpleExchange {
62
- network;
63
- dexKey;
64
- dexHelper;
65
- logger;
66
- config;
67
- factory;
68
- hasConstantPriceLargeAmounts = false;
69
- isFeeOnTransferSupported = false;
70
- static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.ClearConfig);
71
- clearSwapIface = new abi_1.Interface(ClearSwap_json_1.default);
72
- clearVaultIface = new abi_1.Interface(ClearVault_json_1.default);
73
- vaults = [];
74
- constructor(network, dexKey, dexHelper) {
75
- super(dexHelper, dexKey);
76
- this.network = network;
77
- this.dexKey = dexKey;
78
- this.dexHelper = dexHelper;
79
- this.config = config_1.ClearConfig[dexKey][network];
80
- this.logger = dexHelper.getLogger(dexKey);
81
- this.factory = new clear_factory_1.ClearFactory(dexKey, this.config, network, dexHelper, this.logger);
82
- }
83
- getAdapters(_side) {
84
- return null;
85
- }
86
- async initializePricing(blockNumber) {
87
- await this.factory.initialize(blockNumber);
88
- }
89
- async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
90
- if (side === constants_1.SwapSide.BUY)
91
- return [];
92
- const allVaults = this.factory.getState(blockNumber) || [];
93
- const src = srcToken.address.toLowerCase();
94
- const dest = destToken.address.toLowerCase();
95
- const matchingVaults = allVaults.filter(vault => {
96
- const addrs = vault.tokens;
97
- return addrs.includes(src) && addrs.includes(dest);
98
- });
99
- return matchingVaults.map(vault => `${this.dexKey}_${vault.address}_${srcToken.address}_${destToken.address}`.toLowerCase());
100
- }
101
- async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
102
- // Only SELL side supported
103
- if (side === constants_1.SwapSide.BUY) {
104
- return null;
105
- }
106
- const poolIdentifiers = limitPools ||
107
- (await this.getPoolIdentifiers(srcToken, destToken, side, blockNumber));
108
- if (poolIdentifiers.length === 0) {
109
- return null;
110
- }
111
- try {
112
- const calls = [];
113
- const vaultInfos = [];
114
- for (const poolIdentifier of poolIdentifiers) {
115
- const vaultAddress = poolIdentifier.split('_')[1];
116
- const startIdx = calls.length;
117
- for (const amount of amounts.slice(1)) {
118
- calls.push({
119
- target: this.config.swapAddress,
120
- callData: this.clearSwapIface.encodeFunctionData('previewSwap', [
121
- vaultAddress,
122
- srcToken.address,
123
- destToken.address,
124
- amount,
125
- ]),
126
- decodeFunction: (result) => result.amountOut.toBigInt(),
127
- });
128
- }
129
- vaultInfos.push({ address: vaultAddress, poolIdentifier, startIdx });
130
- }
131
- const results = await this.dexHelper.multiWrapper.tryAggregate(false, calls, blockNumber, this.dexHelper.multiWrapper.defaultBatchSize, false);
132
- const poolPrices = [];
133
- for (const { address, poolIdentifier, startIdx } of vaultInfos) {
134
- const prices = [
135
- 0n,
136
- ...amounts.slice(1).map((_, i) => {
137
- const r = results[startIdx + i];
138
- return r.success ? r.returnData : 0n;
139
- }),
140
- ];
141
- if (prices.every(p => p === 0n))
142
- continue;
143
- poolPrices.push({
144
- prices,
145
- unit: (0, utils_1.getBigIntPow)(destToken.decimals),
146
- data: { vault: address },
147
- poolIdentifiers: [poolIdentifier],
148
- exchange: this.dexKey,
149
- gasCost: this.config.poolGasCost || CLEAR_GAS_COST,
150
- poolAddresses: [address],
151
- });
152
- }
153
- return poolPrices.length > 0 ? poolPrices : null;
154
- }
155
- catch (error) {
156
- this.logger.error(`getPricesVolume error: ${error}`);
157
- return null;
158
- }
159
- }
160
- // Not used in V6, but required by interface
161
- getAdapterParam() {
162
- return {
163
- targetExchange: '0x',
164
- payload: '0x',
165
- networkFee: '0',
166
- };
167
- }
168
- getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, _side) {
169
- const exchangeData = this.clearSwapIface.encodeFunctionData('swap', [
170
- recipient,
171
- data.vault,
172
- srcToken,
173
- destToken,
174
- srcAmount,
175
- destAmount,
176
- false,
177
- ]);
178
- return {
179
- needWrapNative: this.needWrapNative,
180
- dexFuncHasRecipient: true,
181
- exchangeData,
182
- targetExchange: this.config.swapAddress,
183
- returnAmountPos: (0, utils_2.extractReturnAmountPosition)(this.clearSwapIface, 'swap', 'amountOut'),
184
- };
185
- }
186
- /**
187
- * Gas cost for exchangeData calldata
188
- * swap(address recipient, address vault, address srcToken, address destToken, uint256 srcAmount, uint256 destAmount, bool useIous)
189
- */
190
- getCalldataGasCost(_poolPrices) {
191
- return (CALLDATA_GAS_COST.DEX_OVERHEAD +
192
- CALLDATA_GAS_COST.ADDRESS + // recipient
193
- CALLDATA_GAS_COST.ADDRESS + // vault
194
- CALLDATA_GAS_COST.ADDRESS + // srcToken
195
- CALLDATA_GAS_COST.ADDRESS + // destToken
196
- CALLDATA_GAS_COST.AMOUNT + // srcAmount
197
- CALLDATA_GAS_COST.AMOUNT + // destAmount
198
- CALLDATA_GAS_COST.BOOL // useIous
199
- );
200
- }
201
- /**
202
- * Fetch vaults with tokens, decimals and TVL for getTopPoolsForToken
203
- * This method is called by PoolTracker service which doesn't call initializePricing
204
- */
205
- async updatePoolState() {
206
- const blockNumber = await this.dexHelper.provider.getBlockNumber();
207
- const vaults = await this.factory.getStateOrGenerate(blockNumber);
208
- if (vaults.length === 0) {
209
- return this.logger.info(`${this.dexKey}: No vaults found in updatePoolState`);
210
- }
211
- const uniqueTokens = [...new Set(vaults.flatMap(v => v.tokens))];
212
- const decimalCalls = uniqueTokens.map(token => ({
213
- target: token,
214
- callData: '0x313ce567', // decimals()
215
- decodeFunction: (result) => BigInt((0, decoders_1.uint8ToNumber)(result)),
216
- }));
217
- // Build tokenAssets(tokenAddress) calls for each token in each vault
218
- const tokenAssetsCalls = [];
219
- const tokenAssetsMap = [];
220
- for (let i = 0; i < vaults.length; i++) {
221
- for (const token of vaults[i].tokens) {
222
- tokenAssetsCalls.push({
223
- target: vaults[i].address,
224
- callData: this.clearVaultIface.encodeFunctionData('tokenAssets', [
225
- token,
226
- ]),
227
- decodeFunction: decoders_1.uint256ToBigInt,
228
- });
229
- tokenAssetsMap.push({ vaultIdx: i, tokenAddress: token });
230
- }
231
- }
232
- const results = await this.dexHelper.multiWrapper.tryAggregate(false, [...decimalCalls, ...tokenAssetsCalls], blockNumber, this.dexHelper.multiWrapper.defaultBatchSize, false);
233
- const decimalsOffset = uniqueTokens.length;
234
- const tokenDecimals = {};
235
- for (let i = 0; i < decimalsOffset; i++) {
236
- const result = results[i];
237
- tokenDecimals[uniqueTokens[i]] = result.success
238
- ? Number(result.returnData)
239
- : 18;
240
- }
241
- // Group tokenAssets results by vault index
242
- const vaultTokenAssets = vaults.map(() => ({}));
243
- for (let i = 0; i < tokenAssetsMap.length; i++) {
244
- const { vaultIdx, tokenAddress } = tokenAssetsMap[i];
245
- const result = results[decimalsOffset + i];
246
- if (result.success) {
247
- vaultTokenAssets[vaultIdx][tokenAddress.toLowerCase()] =
248
- result.returnData;
249
- }
250
- }
251
- this.vaults = vaults.map((vault, i) => ({
252
- address: vault.address,
253
- tokens: vault.tokens.map(t => ({
254
- address: t,
255
- decimals: tokenDecimals[t.toLowerCase()] ?? 18,
256
- })),
257
- tokenAssets: vaultTokenAssets[i],
258
- }));
259
- }
260
- async getTopPoolsForToken(tokenAddress, limit) {
261
- const tokenAddrLower = tokenAddress.toLowerCase();
262
- const vaultsWithToken = this.vaults.filter(vault => vault.tokens.some(t => t.address.toLowerCase() === tokenAddrLower));
263
- if (vaultsWithToken.length === 0) {
264
- return [];
265
- }
266
- // Build a flat list of [tokenAddress, assets] for all tokens across all vaults
267
- const tokenAmountPairs = [];
268
- const vaultTokenCounts = [];
269
- for (const vault of vaultsWithToken) {
270
- vaultTokenCounts.push(vault.tokens.length);
271
- for (const t of vault.tokens) {
272
- const addr = t.address.toLowerCase();
273
- tokenAmountPairs.push([t.address, vault.tokenAssets[addr] ?? null]);
274
- }
275
- }
276
- const usdAmounts = await this.dexHelper.getUsdTokenAmounts(tokenAmountPairs);
277
- // Map per-token USD amounts to PoolLiquidity entries
278
- let offset = 0;
279
- const poolLiquidities = vaultsWithToken
280
- .map((vault, i) => {
281
- const count = vaultTokenCounts[i];
282
- const tokenUsdMap = {};
283
- for (let j = 0; j < count; j++) {
284
- const addr = vault.tokens[j].address.toLowerCase();
285
- tokenUsdMap[addr] = usdAmounts[offset + j];
286
- }
287
- offset += count;
288
- const connectorTokens = vault.tokens
289
- .filter(t => t.address.toLowerCase() !== tokenAddrLower)
290
- .map(t => ({
291
- address: t.address,
292
- decimals: t.decimals ?? 18,
293
- liquidityUSD: tokenUsdMap[t.address.toLowerCase()],
294
- }));
295
- if (connectorTokens.length === 0)
296
- return null;
297
- return {
298
- exchange: this.dexKey,
299
- address: vault.address,
300
- connectorTokens,
301
- liquidityUSD: tokenUsdMap[tokenAddrLower] ?? 0,
302
- };
303
- })
304
- .filter((p) => p !== null);
305
- return poolLiquidities
306
- .sort((a, b) => b.liquidityUSD - a.liquidityUSD)
307
- .slice(0, limit);
308
- }
309
- }
310
- exports.Clear = Clear;
311
- //# sourceMappingURL=clear.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clear.js","sourceRoot":"","sources":["../../../src/dex/clear/clear.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { DexParams } from './types';
2
- import { DexConfigMap } from '../../types';
3
- export declare const ClearConfig: DexConfigMap<DexParams>;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClearConfig = void 0;
4
- const constants_1 = require("../../constants");
5
- exports.ClearConfig = {
6
- Clear: {
7
- [constants_1.Network.MAINNET]: {
8
- factoryAddress: '0x8bF266ED803e474AE7Bf09ADB5ba2566c489223d',
9
- swapAddress: '0xeb5AD3D93E59eFcbC6934caD2B48EB33BAf29745',
10
- poolGasCost: 150_000,
11
- },
12
- },
13
- };
14
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/clear/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE7B,QAAA,WAAW,GAA4B;IAClD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,cAAc,EAAE,4CAA4C;YAC5D,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,OAAO;SACrB;KACF;CACF,CAAC"}
@@ -1,18 +0,0 @@
1
- import { Address, Token } from '../../types';
2
- export type ClearData = {
3
- vault: Address;
4
- };
5
- export interface DexParams {
6
- factoryAddress: Address;
7
- swapAddress: Address;
8
- poolGasCost?: number;
9
- }
10
- export type PoolState = {
11
- address: Address;
12
- tokens: Address[];
13
- }[];
14
- export interface ClearVault {
15
- address: Address;
16
- tokens: Token[];
17
- tokenAssets: Record<string, bigint>;
18
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/clear/types.ts"],"names":[],"mappings":""}
@@ -1,43 +0,0 @@
1
- import { DeepReadonly } from 'ts-essentials';
2
- import { Address, Log, Logger } from '../../types';
3
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
4
- import { IDexHelper } from '../../dex-helper/idex-helper';
5
- import { PoolState, PoolConfig } from './types';
6
- export declare class MakerPsmEventPool extends StatefulEventSubscriber<PoolState> {
7
- protected network: number;
8
- protected dexHelper: IDexHelper;
9
- poolConfig: PoolConfig;
10
- protected vatAddress: Address;
11
- handlers: {
12
- [event: string]: (event: any, pool: PoolState, log: Log) => PoolState;
13
- };
14
- logDecoder: (log: Log) => any;
15
- to18ConversionFactor: bigint;
16
- bytes32Tout: string;
17
- bytes32Tin: string;
18
- constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, poolConfig: PoolConfig, vatAddress: Address);
19
- handleFile(event: any, pool: PoolState, log: Log): PoolState;
20
- handleSellGem(event: any, pool: PoolState, log: Log): PoolState;
21
- handleBuyGem(event: any, pool: PoolState, log: Log): PoolState;
22
- getIdentifier(): string;
23
- /**
24
- * The function is called every time any of the subscribed
25
- * addresses release log. The function accepts the current
26
- * state, updates the state according to the log, and returns
27
- * the updated state.
28
- * @param state - Current state of event subscriber
29
- * @param log - Log released by one of the subscribed addresses
30
- * @returns Updates state of the event subscriber after the log
31
- */
32
- protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>): DeepReadonly<PoolState> | null;
33
- /**
34
- * The function generates state using on-chain calls. This
35
- * function is called to regenerate state if the event based
36
- * system fails to fetch events and the local state is no
37
- * more correct.
38
- * @param blockNumber - Blocknumber for which the state should
39
- * should be generated
40
- * @returns state of the event subscriber at blocknumber
41
- */
42
- generateState(blockNumber: number): Promise<Readonly<PoolState>>;
43
- }
@@ -1,132 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MakerPsmEventPool = void 0;
7
- const abi_1 = require("@ethersproject/abi");
8
- const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
9
- const utils_1 = require("../../utils");
10
- const psm_json_1 = __importDefault(require("../../abi/maker-psm/psm.json"));
11
- const vat_json_1 = __importDefault(require("../../abi/maker-psm/vat.json"));
12
- const vatInterface = new abi_1.Interface(vat_json_1.default);
13
- const psmInterface = new abi_1.Interface(psm_json_1.default);
14
- const bigIntify = (b) => BigInt(b.toString());
15
- async function getOnChainState(multiContract, poolConfigs, vatAddress, blockNumber) {
16
- const callData = poolConfigs
17
- .map(c => [
18
- {
19
- target: c.psmAddress,
20
- callData: psmInterface.encodeFunctionData('tin', []),
21
- },
22
- {
23
- target: c.psmAddress,
24
- callData: psmInterface.encodeFunctionData('tout', []),
25
- },
26
- {
27
- target: vatAddress,
28
- callData: vatInterface.encodeFunctionData('ilks', [c.identifier]),
29
- },
30
- ])
31
- .flat();
32
- const res = await multiContract.methods
33
- .aggregate(callData)
34
- .call({}, blockNumber);
35
- let i = 0;
36
- return poolConfigs.map(c => {
37
- const tin = bigIntify(psmInterface.decodeFunctionResult('tin', res.returnData[i++])[0]);
38
- const tout = bigIntify(psmInterface.decodeFunctionResult('tout', res.returnData[i++])[0]);
39
- const ilks = vatInterface.decodeFunctionResult('ilks', res.returnData[i++]);
40
- const Art = bigIntify(ilks.Art);
41
- const line = bigIntify(ilks.line);
42
- const rate = bigIntify(ilks.rate);
43
- return {
44
- tin,
45
- tout,
46
- Art,
47
- line,
48
- rate,
49
- };
50
- });
51
- }
52
- class MakerPsmEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
53
- network;
54
- dexHelper;
55
- poolConfig;
56
- vatAddress;
57
- handlers = {};
58
- logDecoder;
59
- to18ConversionFactor;
60
- bytes32Tout = '0x746f757400000000000000000000000000000000000000000000000000000000'; // bytes32('tout')
61
- bytes32Tin = '0x74696e0000000000000000000000000000000000000000000000000000000000'; // bytes32('tin')
62
- constructor(parentName, network, dexHelper, logger, poolConfig, vatAddress) {
63
- super(parentName, poolConfig.identifier, dexHelper, logger);
64
- this.network = network;
65
- this.dexHelper = dexHelper;
66
- this.poolConfig = poolConfig;
67
- this.vatAddress = vatAddress;
68
- this.logDecoder = (log) => psmInterface.parseLog(log);
69
- this.addressesSubscribed = [poolConfig.psmAddress];
70
- this.to18ConversionFactor = (0, utils_1.getBigIntPow)(18 - poolConfig.gem.decimals);
71
- // Add handlers
72
- this.handlers['File'] = this.handleFile.bind(this);
73
- this.handlers['SellGem'] = this.handleSellGem.bind(this);
74
- this.handlers['BuyGem'] = this.handleBuyGem.bind(this);
75
- }
76
- handleFile(event, pool, log) {
77
- if (event.args.what === this.bytes32Tin) {
78
- pool.tin = bigIntify(event.args.data);
79
- }
80
- else if (event.args.what === this.bytes32Tout) {
81
- pool.tout = bigIntify(event.args.data);
82
- }
83
- return pool;
84
- }
85
- handleSellGem(event, pool, log) {
86
- pool.Art += bigIntify(event.args.value) * this.to18ConversionFactor;
87
- return pool;
88
- }
89
- handleBuyGem(event, pool, log) {
90
- pool.Art -= bigIntify(event.args.value) * this.to18ConversionFactor;
91
- return pool;
92
- }
93
- getIdentifier() {
94
- return `${this.parentName}_${this.poolConfig.psmAddress}`.toLowerCase();
95
- }
96
- /**
97
- * The function is called every time any of the subscribed
98
- * addresses release log. The function accepts the current
99
- * state, updates the state according to the log, and returns
100
- * the updated state.
101
- * @param state - Current state of event subscriber
102
- * @param log - Log released by one of the subscribed addresses
103
- * @returns Updates state of the event subscriber after the log
104
- */
105
- processLog(state, log) {
106
- try {
107
- const event = this.logDecoder(log);
108
- if (event.name in this.handlers) {
109
- return this.handlers[event.name](event, state, log);
110
- }
111
- return state;
112
- }
113
- catch (e) {
114
- this.logger.error(`Error_${this.parentName}_processLog could not parse the log with topic ${log.topics}:`, e);
115
- return null;
116
- }
117
- }
118
- /**
119
- * The function generates state using on-chain calls. This
120
- * function is called to regenerate state if the event based
121
- * system fails to fetch events and the local state is no
122
- * more correct.
123
- * @param blockNumber - Blocknumber for which the state should
124
- * should be generated
125
- * @returns state of the event subscriber at blocknumber
126
- */
127
- async generateState(blockNumber) {
128
- return (await getOnChainState(this.dexHelper.multiContract, [this.poolConfig], this.vatAddress, blockNumber))[0];
129
- }
130
- }
131
- exports.MakerPsmEventPool = MakerPsmEventPool;
132
- //# sourceMappingURL=maker-psm-event-pool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"maker-psm-event-pool.js","sourceRoot":"","sources":["../../../src/dex/maker-psm/maker-psm-event-pool.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { DeepReadonly } from 'ts-essentials';
3
- import { Log, Logger } from '../../types';
4
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
- import { IDexHelper } from '../../dex-helper/idex-helper';
6
- import { MiroMigratorState } from './types';
7
- export declare class MiroMigratorEventState extends StatefulEventSubscriber<MiroMigratorState> {
8
- readonly parentName: string;
9
- protected network: number;
10
- protected dexHelper: IDexHelper;
11
- protected migratorAddress: string;
12
- protected xyzAddress: string;
13
- protected transferTopic: string;
14
- protected migratorInterface: Interface;
15
- protected xyzInterface: Interface;
16
- handlers: {
17
- [event: string]: (event: any, state: DeepReadonly<MiroMigratorState>, log: Readonly<Log>) => DeepReadonly<MiroMigratorState> | null;
18
- };
19
- logDecoder: (log: Log) => any;
20
- addressesSubscribed: string[];
21
- constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, migratorAddress: string, xyzAddress: string, transferTopic: string, migratorInterface?: Interface, xyzInterface?: Interface);
22
- protected processLog(state: DeepReadonly<MiroMigratorState>, log: Readonly<Log>): Promise<DeepReadonly<MiroMigratorState> | null>;
23
- generateState(blockNumber?: number | 'latest'): Promise<DeepReadonly<MiroMigratorState>>;
24
- getOrGenerateState(blockNumber: number): Promise<MiroMigratorState>;
25
- handleTransferTo(event: any, state: DeepReadonly<MiroMigratorState>, log: Readonly<Log>): Promise<DeepReadonly<MiroMigratorState>>;
26
- handleTransferFrom(event: any, state: DeepReadonly<MiroMigratorState>, log: Readonly<Log>): Promise<DeepReadonly<MiroMigratorState>>;
27
- }