@paraswap/dex-lib 3.9.7-fluid-dex.2 → 3.10.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 (234) hide show
  1. package/.vscode/launch.json +53 -0
  2. package/.vscode/settings.json +2 -0
  3. package/.vscode/tasks.json +15 -0
  4. package/build/abi/{integral/pool.json → inception/inception-ineth-pool.json} +558 -537
  5. package/build/abi/inception/inception-ratio-feed.json +329 -0
  6. package/build/abi/inception/inception-vault.json +991 -0
  7. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  8. package/build/abi/{integral/relayer.json → wombat/pool.json} +474 -721
  9. package/build/config.js +28 -0
  10. package/build/config.js.map +1 -1
  11. package/build/constants.d.ts +2 -1
  12. package/build/constants.js +1 -0
  13. package/build/constants.js.map +1 -1
  14. package/build/dex/aave-v1/aave-v1.d.ts +2 -1
  15. package/build/dex/aave-v1/aave-v1.js +23 -0
  16. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  17. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  18. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  19. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  20. package/build/dex/aave-v3/aave-v3.js +1 -1
  21. package/build/dex/aave-v3/aave-v3.js.map +1 -1
  22. package/build/dex/aave-v3/config.js +6 -0
  23. package/build/dex/aave-v3/config.js.map +1 -1
  24. package/build/dex/aave-v3-stata/config.js +3 -3
  25. package/build/dex/aave-v3-stata/config.js.map +1 -1
  26. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js +1 -1
  27. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js.map +1 -1
  28. package/build/dex/algebra/config.js +20 -0
  29. package/build/dex/algebra/config.js.map +1 -1
  30. package/build/dex/balancer-v2/balancer-v2.js +1 -1
  31. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  32. package/build/dex/balancer-v2/config.js +4 -0
  33. package/build/dex/balancer-v2/config.js.map +1 -1
  34. package/build/dex/curve-v1/config.js +36 -0
  35. package/build/dex/curve-v1/config.js.map +1 -1
  36. package/build/dex/curve-v1/curve-v1.js +1 -1
  37. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  38. package/build/dex/curve-v1-factory/constants.js +1 -0
  39. package/build/dex/curve-v1-factory/constants.js.map +1 -1
  40. package/build/dex/curve-v1-factory/curve-v1-factory.js +1 -1
  41. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  42. package/build/dex/curve-v1-stable-ng/config.js +28 -0
  43. package/build/dex/curve-v1-stable-ng/config.js.map +1 -1
  44. package/build/dex/inception/config.d.ts +4 -0
  45. package/build/dex/inception/config.js +109 -0
  46. package/build/dex/inception/config.js.map +1 -0
  47. package/build/dex/inception/inception-event-pool.d.ts +16 -0
  48. package/build/dex/inception/inception-event-pool.js +49 -0
  49. package/build/dex/inception/inception-event-pool.js.map +1 -0
  50. package/build/dex/inception/inception.d.ts +43 -0
  51. package/build/dex/inception/inception.js +180 -0
  52. package/build/dex/inception/inception.js.map +1 -0
  53. package/build/dex/inception/tokens.d.ts +9 -0
  54. package/build/dex/inception/tokens.js +28 -0
  55. package/build/dex/inception/tokens.js.map +1 -0
  56. package/build/dex/inception/types.d.ts +22 -0
  57. package/build/dex/{fluid-dex → inception}/types.js.map +1 -1
  58. package/build/dex/inception/utils.d.ts +7 -0
  59. package/build/dex/inception/utils.js +58 -0
  60. package/build/dex/inception/utils.js.map +1 -0
  61. package/build/dex/index.js +0 -2
  62. package/build/dex/index.js.map +1 -1
  63. package/build/dex/jarvis.d.ts +2 -1
  64. package/build/dex/jarvis.js +58 -0
  65. package/build/dex/jarvis.js.map +1 -1
  66. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  67. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  68. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  69. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  70. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  71. package/build/dex/platypus/platypus.d.ts +2 -1
  72. package/build/dex/platypus/platypus.js +45 -0
  73. package/build/dex/platypus/platypus.js.map +1 -1
  74. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  75. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  76. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  77. package/build/dex/stable-pool.js +1 -8
  78. package/build/dex/stable-pool.js.map +1 -1
  79. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  80. package/build/dex/swaap-v1/swaap-v1.js +14 -0
  81. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  82. package/build/dex/uniswap-v2/config.js +14 -0
  83. package/build/dex/uniswap-v2/config.js.map +1 -1
  84. package/build/dex/uniswap-v2/nomiswap-v2.js +10 -0
  85. package/build/dex/uniswap-v2/nomiswap-v2.js.map +1 -1
  86. package/build/dex/uniswap-v2/uniswap-v2.js +1 -1
  87. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  88. package/build/dex/uniswap-v3/config.js +14 -0
  89. package/build/dex/uniswap-v3/config.js.map +1 -1
  90. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  91. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  92. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  93. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  94. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  95. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  96. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
  97. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
  98. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
  99. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
  100. package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
  101. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
  102. package/build/dex/uniswap-v3/uniswap-v3.js +1 -0
  103. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  104. package/build/dex/weth/config.js +5 -0
  105. package/build/dex/weth/config.js.map +1 -1
  106. package/build/dex/wusdm/config.js +8 -0
  107. package/build/dex/wusdm/config.js.map +1 -1
  108. package/build/dex/wusdm/wusdm.d.ts +1 -0
  109. package/build/dex/wusdm/wusdm.js +9 -4
  110. package/build/dex/wusdm/wusdm.js.map +1 -1
  111. package/build/dex/zerox/index.d.ts +4 -26
  112. package/build/dex/zerox/index.js +50 -42
  113. package/build/dex/zerox/index.js.map +1 -1
  114. package/build/dex/zerox/types.d.ts +29 -0
  115. package/build/dex/zerox/types.js +8 -1
  116. package/build/dex/zerox/types.js.map +1 -1
  117. package/build/executor/WETHBytecodeBuilder.js +1 -0
  118. package/build/executor/WETHBytecodeBuilder.js.map +1 -1
  119. package/package.json +1 -1
  120. package/src/config.ts +29 -1
  121. package/src/constants.ts +1 -0
  122. package/src/dex/aave-v3/aave-v3-e2e.test.ts +69 -0
  123. package/src/dex/aave-v3/aave-v3.ts +1 -1
  124. package/src/dex/aave-v3/config.ts +7 -0
  125. package/src/dex/aave-v3-stata/config.ts +4 -4
  126. package/src/dex/algebra/algebra-e2e.test.ts +22 -0
  127. package/src/dex/algebra/algebra-pool-v1_9_bidirectional_fee.ts +1 -1
  128. package/src/dex/algebra/config.ts +21 -0
  129. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +22 -250
  130. package/src/dex/balancer-v2/balancer-v2.ts +1 -1
  131. package/src/dex/balancer-v2/config.ts +4 -0
  132. package/src/dex/curve-v1/config.ts +36 -0
  133. package/src/dex/curve-v1/curve-v1-e2e.test.ts +69 -0
  134. package/src/dex/curve-v1/curve-v1.ts +1 -1
  135. package/src/dex/curve-v1-factory/constants.ts +1 -0
  136. package/src/dex/curve-v1-factory/curve-v1-factory.ts +2 -1
  137. package/src/dex/curve-v1-stable-ng/config.ts +28 -0
  138. package/src/dex/curve-v1-stable-ng/curve-v1-stable-ng-e2e.test.ts +20 -0
  139. package/src/dex/index.ts +0 -2
  140. package/src/dex/uniswap-v2/config.ts +16 -0
  141. package/src/dex/uniswap-v2/nomiswap-v2.ts +11 -0
  142. package/src/dex/uniswap-v2/uniswap-v2-e2e-gnosis.test.ts +283 -0
  143. package/src/dex/uniswap-v2/uniswap-v2.ts +1 -1
  144. package/src/dex/uniswap-v3/config.ts +14 -0
  145. package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +24 -0
  146. package/src/dex/uniswap-v3/uniswap-v3.ts +1 -0
  147. package/src/dex/weth/config.ts +5 -0
  148. package/src/dex/wusdm/config.ts +8 -0
  149. package/src/dex/wusdm/wusdm-e2e.test.ts +38 -0
  150. package/src/dex/wusdm/wusdm.ts +11 -4
  151. package/src/executor/WETHBytecodeBuilder.ts +3 -2
  152. package/tests/constants-e2e.ts +77 -2
  153. package/.idea/aws.xml +0 -17
  154. package/.idea/codeStyles/Project.xml +0 -19
  155. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  156. package/.idea/misc.xml +0 -6
  157. package/.idea/modules.xml +0 -8
  158. package/.idea/paraswap-dex-lib.iml +0 -9
  159. package/.idea/prettier.xml +0 -7
  160. package/.idea/vcs.xml +0 -6
  161. package/build/abi/fluid-dex/dexFactory.abi.json +0 -506
  162. package/build/abi/fluid-dex/fluid-dex.abi.json +0 -922
  163. package/build/abi/fluid-dex/liquidityUserModule.abi.json +0 -145
  164. package/build/abi/fluid-dex/resolver.abi.json +0 -999
  165. package/build/abi/integral/factory.json +0 -333
  166. package/build/abi/integral/oracle.json +0 -501
  167. package/build/dex/fluid-dex/config.d.ts +0 -4
  168. package/build/dex/fluid-dex/config.js +0 -20
  169. package/build/dex/fluid-dex/config.js.map +0 -1
  170. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
  171. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
  172. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
  173. package/build/dex/fluid-dex/fluid-dex-pool.d.ts +0 -47
  174. package/build/dex/fluid-dex/fluid-dex-pool.js +0 -119
  175. package/build/dex/fluid-dex/fluid-dex-pool.js.map +0 -1
  176. package/build/dex/fluid-dex/fluid-dex.d.ts +0 -127
  177. package/build/dex/fluid-dex/fluid-dex.js +0 -502
  178. package/build/dex/fluid-dex/fluid-dex.js.map +0 -1
  179. package/build/dex/fluid-dex/types.d.ts +0 -52
  180. package/build/dex/integral/config.d.ts +0 -4
  181. package/build/dex/integral/config.js +0 -20
  182. package/build/dex/integral/config.js.map +0 -1
  183. package/build/dex/integral/context.d.ts +0 -40
  184. package/build/dex/integral/context.js +0 -158
  185. package/build/dex/integral/context.js.map +0 -1
  186. package/build/dex/integral/integral-factory.d.ts +0 -24
  187. package/build/dex/integral/integral-factory.js +0 -95
  188. package/build/dex/integral/integral-factory.js.map +0 -1
  189. package/build/dex/integral/integral-pool.d.ts +0 -50
  190. package/build/dex/integral/integral-pool.js +0 -149
  191. package/build/dex/integral/integral-pool.js.map +0 -1
  192. package/build/dex/integral/integral-pricing.d.ts +0 -18
  193. package/build/dex/integral/integral-pricing.js +0 -114
  194. package/build/dex/integral/integral-pricing.js.map +0 -1
  195. package/build/dex/integral/integral-relayer.d.ts +0 -42
  196. package/build/dex/integral/integral-relayer.js +0 -192
  197. package/build/dex/integral/integral-relayer.js.map +0 -1
  198. package/build/dex/integral/integral-token.d.ts +0 -27
  199. package/build/dex/integral/integral-token.js +0 -59
  200. package/build/dex/integral/integral-token.js.map +0 -1
  201. package/build/dex/integral/integral.d.ts +0 -41
  202. package/build/dex/integral/integral.js +0 -376
  203. package/build/dex/integral/integral.js.map +0 -1
  204. package/build/dex/integral/types.d.ts +0 -85
  205. package/build/dex/integral/types.js +0 -9
  206. package/build/dex/integral/types.js.map +0 -1
  207. package/build/dex/integral/utils-e2e.d.ts +0 -9
  208. package/build/dex/integral/utils-e2e.js +0 -131
  209. package/build/dex/integral/utils-e2e.js.map +0 -1
  210. package/build/dex/integral/utils.d.ts +0 -17
  211. package/build/dex/integral/utils.js +0 -94
  212. package/build/dex/integral/utils.js.map +0 -1
  213. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  214. package/build/dex/trader-joe-v2.1/optimizer.js +0 -47
  215. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
  216. package/src/abi/fluid-dex/dexFactory.abi.json +0 -506
  217. package/src/abi/fluid-dex/fluid-dex.abi.json +0 -922
  218. package/src/abi/fluid-dex/liquidityUserModule.abi.json +0 -145
  219. package/src/abi/fluid-dex/resolver.abi.json +0 -999
  220. package/src/dex/fluid-dex/config.ts +0 -20
  221. package/src/dex/fluid-dex/fluid-dex-e2e.test.ts +0 -154
  222. package/src/dex/fluid-dex/fluid-dex-events.test.ts +0 -294
  223. package/src/dex/fluid-dex/fluid-dex-generate-pool.ts +0 -143
  224. package/src/dex/fluid-dex/fluid-dex-integration.test.ts +0 -304
  225. package/src/dex/fluid-dex/fluid-dex-pool.ts +0 -178
  226. package/src/dex/fluid-dex/fluid-dex.ts +0 -780
  227. package/src/dex/fluid-dex/types.ts +0 -62
  228. package/tests/constants-e2e.d.ts +0 -22
  229. package/tests/constants-e2e.js +0 -1942
  230. package/tests/constants-e2e.js.map +0 -1
  231. package/tests/smart-tokens.d.ts +0 -36
  232. package/tests/smart-tokens.js +0 -64
  233. package/tests/smart-tokens.js.map +0 -1
  234. /package/build/dex/{fluid-dex → inception}/types.js +0 -0
@@ -1,501 +0,0 @@
1
- [
2
- {
3
- "inputs": [
4
- {
5
- "internalType": "uint8",
6
- "name": "_xDecimals",
7
- "type": "uint8"
8
- },
9
- {
10
- "internalType": "uint8",
11
- "name": "_yDecimals",
12
- "type": "uint8"
13
- }
14
- ],
15
- "stateMutability": "nonpayable",
16
- "type": "constructor"
17
- },
18
- {
19
- "anonymous": false,
20
- "inputs": [
21
- {
22
- "indexed": false,
23
- "internalType": "address",
24
- "name": "owner",
25
- "type": "address"
26
- }
27
- ],
28
- "name": "OwnerSet",
29
- "type": "event"
30
- },
31
- {
32
- "anonymous": false,
33
- "inputs": [
34
- {
35
- "indexed": false,
36
- "internalType": "uint32",
37
- "name": "interval",
38
- "type": "uint32"
39
- }
40
- ],
41
- "name": "TwapIntervalSet",
42
- "type": "event"
43
- },
44
- {
45
- "anonymous": false,
46
- "inputs": [
47
- {
48
- "indexed": false,
49
- "internalType": "address",
50
- "name": "uniswapPair",
51
- "type": "address"
52
- }
53
- ],
54
- "name": "UniswapPairSet",
55
- "type": "event"
56
- },
57
- {
58
- "inputs": [],
59
- "name": "decimalsConverter",
60
- "outputs": [
61
- {
62
- "internalType": "int256",
63
- "name": "",
64
- "type": "int256"
65
- }
66
- ],
67
- "stateMutability": "view",
68
- "type": "function"
69
- },
70
- {
71
- "inputs": [
72
- {
73
- "internalType": "uint256",
74
- "name": "xLeft",
75
- "type": "uint256"
76
- },
77
- {
78
- "internalType": "uint256",
79
- "name": "xBefore",
80
- "type": "uint256"
81
- },
82
- {
83
- "internalType": "uint256",
84
- "name": "yBefore",
85
- "type": "uint256"
86
- },
87
- {
88
- "internalType": "bytes",
89
- "name": "data",
90
- "type": "bytes"
91
- }
92
- ],
93
- "name": "depositTradeXIn",
94
- "outputs": [
95
- {
96
- "internalType": "uint256",
97
- "name": "",
98
- "type": "uint256"
99
- }
100
- ],
101
- "stateMutability": "view",
102
- "type": "function"
103
- },
104
- {
105
- "inputs": [
106
- {
107
- "internalType": "uint256",
108
- "name": "yLeft",
109
- "type": "uint256"
110
- },
111
- {
112
- "internalType": "uint256",
113
- "name": "xBefore",
114
- "type": "uint256"
115
- },
116
- {
117
- "internalType": "uint256",
118
- "name": "yBefore",
119
- "type": "uint256"
120
- },
121
- {
122
- "internalType": "bytes",
123
- "name": "data",
124
- "type": "bytes"
125
- }
126
- ],
127
- "name": "depositTradeYIn",
128
- "outputs": [
129
- {
130
- "internalType": "uint256",
131
- "name": "",
132
- "type": "uint256"
133
- }
134
- ],
135
- "stateMutability": "view",
136
- "type": "function"
137
- },
138
- {
139
- "inputs": [
140
- {
141
- "internalType": "uint256",
142
- "name": "",
143
- "type": "uint256"
144
- },
145
- {
146
- "internalType": "uint256",
147
- "name": "",
148
- "type": "uint256"
149
- }
150
- ],
151
- "name": "getAveragePrice",
152
- "outputs": [
153
- {
154
- "internalType": "uint256",
155
- "name": "",
156
- "type": "uint256"
157
- }
158
- ],
159
- "stateMutability": "view",
160
- "type": "function"
161
- },
162
- {
163
- "inputs": [],
164
- "name": "getPriceInfo",
165
- "outputs": [
166
- {
167
- "internalType": "uint256",
168
- "name": "priceAccumulator",
169
- "type": "uint256"
170
- },
171
- {
172
- "internalType": "uint256",
173
- "name": "priceTimestamp",
174
- "type": "uint256"
175
- }
176
- ],
177
- "stateMutability": "view",
178
- "type": "function"
179
- },
180
- {
181
- "inputs": [],
182
- "name": "getSpotPrice",
183
- "outputs": [
184
- {
185
- "internalType": "uint256",
186
- "name": "",
187
- "type": "uint256"
188
- }
189
- ],
190
- "stateMutability": "view",
191
- "type": "function"
192
- },
193
- {
194
- "inputs": [
195
- {
196
- "internalType": "uint256",
197
- "name": "swapFee",
198
- "type": "uint256"
199
- },
200
- {
201
- "internalType": "uint256",
202
- "name": "amount1In",
203
- "type": "uint256"
204
- },
205
- {
206
- "internalType": "bytes",
207
- "name": "data",
208
- "type": "bytes"
209
- }
210
- ],
211
- "name": "getSwapAmount0Out",
212
- "outputs": [
213
- {
214
- "internalType": "uint256",
215
- "name": "amount0Out",
216
- "type": "uint256"
217
- }
218
- ],
219
- "stateMutability": "view",
220
- "type": "function"
221
- },
222
- {
223
- "inputs": [
224
- {
225
- "internalType": "uint256",
226
- "name": "swapFee",
227
- "type": "uint256"
228
- },
229
- {
230
- "internalType": "uint256",
231
- "name": "amount0In",
232
- "type": "uint256"
233
- },
234
- {
235
- "internalType": "bytes",
236
- "name": "data",
237
- "type": "bytes"
238
- }
239
- ],
240
- "name": "getSwapAmount1Out",
241
- "outputs": [
242
- {
243
- "internalType": "uint256",
244
- "name": "amount1Out",
245
- "type": "uint256"
246
- }
247
- ],
248
- "stateMutability": "view",
249
- "type": "function"
250
- },
251
- {
252
- "inputs": [
253
- {
254
- "internalType": "bool",
255
- "name": "inverse",
256
- "type": "bool"
257
- },
258
- {
259
- "internalType": "uint256",
260
- "name": "swapFee",
261
- "type": "uint256"
262
- },
263
- {
264
- "internalType": "uint256",
265
- "name": "_amountOut",
266
- "type": "uint256"
267
- },
268
- {
269
- "internalType": "bytes",
270
- "name": "data",
271
- "type": "bytes"
272
- }
273
- ],
274
- "name": "getSwapAmountInMaxOut",
275
- "outputs": [
276
- {
277
- "internalType": "uint256",
278
- "name": "amountIn",
279
- "type": "uint256"
280
- },
281
- {
282
- "internalType": "uint256",
283
- "name": "amountOut",
284
- "type": "uint256"
285
- }
286
- ],
287
- "stateMutability": "view",
288
- "type": "function"
289
- },
290
- {
291
- "inputs": [
292
- {
293
- "internalType": "bool",
294
- "name": "inverse",
295
- "type": "bool"
296
- },
297
- {
298
- "internalType": "uint256",
299
- "name": "swapFee",
300
- "type": "uint256"
301
- },
302
- {
303
- "internalType": "uint256",
304
- "name": "_amountOut",
305
- "type": "uint256"
306
- },
307
- {
308
- "internalType": "bytes",
309
- "name": "data",
310
- "type": "bytes"
311
- }
312
- ],
313
- "name": "getSwapAmountInMinOut",
314
- "outputs": [
315
- {
316
- "internalType": "uint256",
317
- "name": "amountIn",
318
- "type": "uint256"
319
- },
320
- {
321
- "internalType": "uint256",
322
- "name": "amountOut",
323
- "type": "uint256"
324
- }
325
- ],
326
- "stateMutability": "view",
327
- "type": "function"
328
- },
329
- {
330
- "inputs": [],
331
- "name": "owner",
332
- "outputs": [
333
- {
334
- "internalType": "address",
335
- "name": "",
336
- "type": "address"
337
- }
338
- ],
339
- "stateMutability": "view",
340
- "type": "function"
341
- },
342
- {
343
- "inputs": [
344
- {
345
- "internalType": "address",
346
- "name": "_owner",
347
- "type": "address"
348
- }
349
- ],
350
- "name": "setOwner",
351
- "outputs": [],
352
- "stateMutability": "nonpayable",
353
- "type": "function"
354
- },
355
- {
356
- "inputs": [
357
- {
358
- "internalType": "uint32",
359
- "name": "_interval",
360
- "type": "uint32"
361
- }
362
- ],
363
- "name": "setTwapInterval",
364
- "outputs": [],
365
- "stateMutability": "nonpayable",
366
- "type": "function"
367
- },
368
- {
369
- "inputs": [
370
- {
371
- "internalType": "address",
372
- "name": "_uniswapPair",
373
- "type": "address"
374
- }
375
- ],
376
- "name": "setUniswapPair",
377
- "outputs": [],
378
- "stateMutability": "nonpayable",
379
- "type": "function"
380
- },
381
- {
382
- "inputs": [
383
- {
384
- "internalType": "uint256",
385
- "name": "xAfter",
386
- "type": "uint256"
387
- },
388
- {
389
- "internalType": "uint256",
390
- "name": "xBefore",
391
- "type": "uint256"
392
- },
393
- {
394
- "internalType": "uint256",
395
- "name": "yBefore",
396
- "type": "uint256"
397
- },
398
- {
399
- "internalType": "bytes",
400
- "name": "data",
401
- "type": "bytes"
402
- }
403
- ],
404
- "name": "tradeX",
405
- "outputs": [
406
- {
407
- "internalType": "uint256",
408
- "name": "yAfter",
409
- "type": "uint256"
410
- }
411
- ],
412
- "stateMutability": "view",
413
- "type": "function"
414
- },
415
- {
416
- "inputs": [
417
- {
418
- "internalType": "uint256",
419
- "name": "yAfter",
420
- "type": "uint256"
421
- },
422
- {
423
- "internalType": "uint256",
424
- "name": "xBefore",
425
- "type": "uint256"
426
- },
427
- {
428
- "internalType": "uint256",
429
- "name": "yBefore",
430
- "type": "uint256"
431
- },
432
- {
433
- "internalType": "bytes",
434
- "name": "data",
435
- "type": "bytes"
436
- }
437
- ],
438
- "name": "tradeY",
439
- "outputs": [
440
- {
441
- "internalType": "uint256",
442
- "name": "xAfter",
443
- "type": "uint256"
444
- }
445
- ],
446
- "stateMutability": "view",
447
- "type": "function"
448
- },
449
- {
450
- "inputs": [],
451
- "name": "twapInterval",
452
- "outputs": [
453
- {
454
- "internalType": "uint32",
455
- "name": "",
456
- "type": "uint32"
457
- }
458
- ],
459
- "stateMutability": "view",
460
- "type": "function"
461
- },
462
- {
463
- "inputs": [],
464
- "name": "uniswapPair",
465
- "outputs": [
466
- {
467
- "internalType": "address",
468
- "name": "",
469
- "type": "address"
470
- }
471
- ],
472
- "stateMutability": "view",
473
- "type": "function"
474
- },
475
- {
476
- "inputs": [],
477
- "name": "xDecimals",
478
- "outputs": [
479
- {
480
- "internalType": "uint8",
481
- "name": "",
482
- "type": "uint8"
483
- }
484
- ],
485
- "stateMutability": "view",
486
- "type": "function"
487
- },
488
- {
489
- "inputs": [],
490
- "name": "yDecimals",
491
- "outputs": [
492
- {
493
- "internalType": "uint8",
494
- "name": "",
495
- "type": "uint8"
496
- }
497
- ],
498
- "stateMutability": "view",
499
- "type": "function"
500
- }
501
- ]
@@ -1,4 +0,0 @@
1
- import { DexParams } from './types';
2
- import { DexConfigMap } from '../../types';
3
- export declare const FluidDexConfig: DexConfigMap<DexParams>;
4
- export declare const FLUID_DEX_GAS_COST = 154000;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FLUID_DEX_GAS_COST = exports.FluidDexConfig = void 0;
4
- const constants_1 = require("../../constants");
5
- exports.FluidDexConfig = {
6
- FluidDex: {
7
- [constants_1.Network.MAINNET]: {
8
- commonAddresses: {
9
- liquidityProxy: '0x52aa899454998be5b000ad077a46bbe360f4e497',
10
- resolver: '0xE8a07a32489BD9d5a00f01A55749Cf5cB854Fd13',
11
- dexFactory: '0x91716C4EDA1Fb55e84Bf8b4c7085f84285c19085',
12
- },
13
- },
14
- },
15
- };
16
- // Uniswap takes total gas of 125k = 21k base gas & 104k swap (this is when user has token balance)
17
- // Fluid takes total gas of 175k = 21k base gas & 154k swap (this is when user has token balance),
18
- // with ETH swaps costing less (because no WETH conversion)
19
- exports.FLUID_DEX_GAS_COST = 154000;
20
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE7B,QAAA,cAAc,GAA4B;IACrD,QAAQ,EAAE;QACR,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,eAAe,EAAE;gBACf,cAAc,EAAE,4CAA4C;gBAC5D,QAAQ,EAAE,4CAA4C;gBACtD,UAAU,EAAE,4CAA4C;aACzD;SACF;KACF;CACF,CAAC;AAEF,mGAAmG;AACnG,kGAAkG;AAClG,2DAA2D;AAC9C,QAAA,kBAAkB,GAAG,MAAO,CAAC"}
@@ -1,49 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { BytesLike } from 'ethers/lib/utils';
3
- import { DeepReadonly } from 'ts-essentials';
4
- import { Log, Logger } from '../../types';
5
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
6
- import { IDexHelper } from '../../dex-helper/idex-helper';
7
- import { CommonAddresses, Pool } from './types';
8
- import { MultiResult } from '../../lib/multi-wrapper';
9
- import { Address } from '../../types';
10
- export declare class FluidDexCommonAddresses extends StatefulEventSubscriber<Pool[]> {
11
- readonly parentName: string;
12
- readonly commonAddresses: CommonAddresses;
13
- protected network: number;
14
- protected dexHelper: IDexHelper;
15
- handlers: {
16
- [event: string]: (event: any, state: DeepReadonly<Pool[]>, log: Readonly<Log>) => Promise<DeepReadonly<Pool[]> | null>;
17
- };
18
- logDecoder: (log: Log) => any;
19
- addressesSubscribed: Address[];
20
- protected dexFactoryIface: Interface;
21
- protected resolverIface: Interface;
22
- constructor(parentName: string, commonAddresses: CommonAddresses, network: number, dexHelper: IDexHelper, logger: Logger);
23
- /**
24
- * Handle a trade rate change on the pool.
25
- */
26
- handleDexDeployed(event: any, state: DeepReadonly<Pool[]>, log: Readonly<Log>): Promise<DeepReadonly<Pool[]> | null>;
27
- decodePool: (result: MultiResult<BytesLike> | BytesLike) => Pool;
28
- /**
29
- * The function is called every time any of the subscribed
30
- * addresses release log. The function accepts the current
31
- * state, updates the state according to the log, and returns
32
- * the updated state.
33
- * @param state - Current state of event subscriber
34
- * @param log - Log released by one of the subscribed addresses
35
- * @returns Updates state of the event subscriber after the log
36
- */
37
- processLog(state: DeepReadonly<Pool[]>, log: Readonly<Log>): Promise<DeepReadonly<Pool[]> | null>;
38
- getStateOrGenerate(blockNumber: number, readonly?: boolean): Promise<DeepReadonly<Pool[]>>;
39
- /**
40
- * The function generates state using on-chain calls. This
41
- * function is called to regenerate state if the event based
42
- * system fails to fetch events and the local state is no
43
- * more correct.
44
- * @param blockNumber - Blocknumber for which the state should
45
- * should be generated
46
- * @returns state of the event subscriber at blocknumber
47
- */
48
- generateState(blockNumber: number): Promise<DeepReadonly<Pool[]>>;
49
- }
@@ -1,104 +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.FluidDexCommonAddresses = void 0;
7
- const abi_1 = require("@ethersproject/abi");
8
- const utils_1 = require("../../utils");
9
- const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
10
- const resolver_abi_json_1 = __importDefault(require("../../abi/fluid-dex/resolver.abi.json"));
11
- const dexFactory_abi_json_1 = __importDefault(require("../../abi/fluid-dex/dexFactory.abi.json"));
12
- const decoders_1 = require("../../lib/decoders");
13
- const ethers_1 = require("ethers");
14
- class FluidDexCommonAddresses extends stateful_event_subscriber_1.StatefulEventSubscriber {
15
- constructor(parentName, commonAddresses, network, dexHelper, logger) {
16
- super(parentName, 'getAllPools', dexHelper, logger);
17
- this.parentName = parentName;
18
- this.commonAddresses = commonAddresses;
19
- this.network = network;
20
- this.dexHelper = dexHelper;
21
- this.handlers = {};
22
- this.dexFactoryIface = new abi_1.Interface(dexFactory_abi_json_1.default);
23
- this.resolverIface = new abi_1.Interface(resolver_abi_json_1.default);
24
- this.decodePool = (result) => {
25
- return (0, decoders_1.generalDecoder)(result, ['tuple(address pool, address token0, address token1, uint256 fee)'], undefined, decoded => {
26
- return {
27
- address: decoded[0].toLowerCase(),
28
- token0: decoded[1].toLowerCase(),
29
- token1: decoded[2].toLowerCase(),
30
- };
31
- });
32
- };
33
- this.logDecoder = (log) => this.dexFactoryIface.parseLog(log);
34
- this.addressesSubscribed = [commonAddresses.dexFactory];
35
- // Add handlers
36
- this.handlers['DexDeployed'] = this.handleDexDeployed.bind(this);
37
- }
38
- /**
39
- * Handle a trade rate change on the pool.
40
- */
41
- async handleDexDeployed(event, state, log) {
42
- const blockNumber_ = await this.dexHelper.provider.getBlockNumber();
43
- return this.getStateOrGenerate(blockNumber_, false);
44
- }
45
- /**
46
- * The function is called every time any of the subscribed
47
- * addresses release log. The function accepts the current
48
- * state, updates the state according to the log, and returns
49
- * the updated state.
50
- * @param state - Current state of event subscriber
51
- * @param log - Log released by one of the subscribed addresses
52
- * @returns Updates state of the event subscriber after the log
53
- */
54
- async processLog(state, log) {
55
- try {
56
- let event;
57
- try {
58
- event = this.logDecoder(log);
59
- }
60
- catch (e) {
61
- return null;
62
- }
63
- if (event.name in this.handlers) {
64
- return await this.handlers[event.name](event, state, log);
65
- }
66
- }
67
- catch (e) {
68
- (0, utils_1.catchParseLogError)(e, this.logger);
69
- }
70
- return null;
71
- }
72
- async getStateOrGenerate(blockNumber, readonly = false) {
73
- let state = this.getState(blockNumber);
74
- if (!state) {
75
- state = await this.generateState(blockNumber);
76
- if (!readonly)
77
- this.setState(state, blockNumber);
78
- }
79
- return state;
80
- }
81
- /**
82
- * The function generates state using on-chain calls. This
83
- * function is called to regenerate state if the event based
84
- * system fails to fetch events and the local state is no
85
- * more correct.
86
- * @param blockNumber - Blocknumber for which the state should
87
- * should be generated
88
- * @returns state of the event subscriber at blocknumber
89
- */
90
- async generateState(blockNumber) {
91
- const resolverContract = new ethers_1.Contract(this.commonAddresses.resolver, resolver_abi_json_1.default, this.dexHelper.provider);
92
- const rawResult = await resolverContract.callStatic.getAllPools({
93
- blockTag: blockNumber,
94
- });
95
- const pools = rawResult.map((result) => ({
96
- address: result[0],
97
- token0: result[1],
98
- token1: result[2],
99
- }));
100
- return pools;
101
- }
102
- }
103
- exports.FluidDexCommonAddresses = FluidDexCommonAddresses;
104
- //# sourceMappingURL=fluid-dex-generate-pool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fluid-dex-generate-pool.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/fluid-dex-generate-pool.ts"],"names":[],"mappings":"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"}