@paraswap/dex-lib 3.8.1 → 3.8.3-integral-dex

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 (262) hide show
  1. package/.vscode/launch.json +9 -49
  2. package/.vscode/settings.json +2 -1
  3. package/build/abi/Uncompressor.json +250 -0
  4. package/build/abi/integral/factory.json +333 -0
  5. package/build/abi/integral/oracle.json +501 -0
  6. package/build/abi/integral/pool.json +1041 -0
  7. package/build/abi/{wombat/pool.json → integral/relayer.json} +720 -473
  8. package/build/abi/oswap/oswap.abi.json +452 -0
  9. package/build/config.js +1 -1
  10. package/build/dex/aave-v1/aave-v1.d.ts +1 -2
  11. package/build/dex/aave-v1/aave-v1.js +0 -23
  12. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  13. package/build/dex/compound.js +1 -1
  14. package/build/dex/compound.js.map +1 -1
  15. package/build/dex/curve-v1-factory/config.js +10 -47
  16. package/build/dex/curve-v1-factory/config.js.map +1 -1
  17. package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +2 -2
  18. package/build/dex/curve-v1-factory/curve-v1-factory.js +36 -96
  19. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  20. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js.map +1 -1
  21. package/build/dex/curve-v1-factory/price-handlers/functions/get_dx.js +1 -13
  22. package/build/dex/curve-v1-factory/price-handlers/functions/get_dx.js.map +1 -1
  23. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.d.ts +2 -2
  24. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.js +1 -1
  25. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.js.map +1 -1
  26. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +1 -1
  27. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
  28. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.d.ts +3 -4
  29. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.js +9 -24
  30. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.js.map +1 -1
  31. package/build/dex/curve-v1-factory/types.d.ts +4 -20
  32. package/build/dex/curve-v1-factory/types.js +3 -11
  33. package/build/dex/curve-v1-factory/types.js.map +1 -1
  34. package/build/dex/curve-v1-stable-ng/config.js +0 -18
  35. package/build/dex/curve-v1-stable-ng/config.js.map +1 -1
  36. package/build/dex/etherfi/etherfi.d.ts +26 -0
  37. package/build/dex/etherfi/etherfi.js +96 -0
  38. package/build/dex/etherfi/etherfi.js.map +1 -0
  39. package/build/dex/index.js +21 -3
  40. package/build/dex/index.js.map +1 -1
  41. package/build/dex/integral/config.d.ts +4 -0
  42. package/build/dex/integral/config.js +20 -0
  43. package/build/dex/integral/config.js.map +1 -0
  44. package/build/dex/integral/context.d.ts +40 -0
  45. package/build/dex/integral/context.js +158 -0
  46. package/build/dex/integral/context.js.map +1 -0
  47. package/build/dex/integral/helpers.d.ts +17 -0
  48. package/build/dex/integral/helpers.js +157 -0
  49. package/build/dex/integral/helpers.js.map +1 -0
  50. package/build/dex/integral/integral-factory.d.ts +21 -0
  51. package/build/dex/integral/integral-factory.js +92 -0
  52. package/build/dex/integral/integral-factory.js.map +1 -0
  53. package/build/dex/integral/integral-pool.d.ts +46 -0
  54. package/build/dex/integral/integral-pool.js +143 -0
  55. package/build/dex/integral/integral-pool.js.map +1 -0
  56. package/build/dex/integral/integral-pricing.d.ts +18 -0
  57. package/build/dex/integral/integral-pricing.js +114 -0
  58. package/build/dex/integral/integral-pricing.js.map +1 -0
  59. package/build/dex/integral/integral-relayer.d.ts +39 -0
  60. package/build/dex/integral/integral-relayer.js +189 -0
  61. package/build/dex/integral/integral-relayer.js.map +1 -0
  62. package/build/dex/integral/integral-token.d.ts +24 -0
  63. package/build/dex/integral/integral-token.js +56 -0
  64. package/build/dex/integral/integral-token.js.map +1 -0
  65. package/build/dex/integral/integral.d.ts +41 -0
  66. package/build/dex/integral/integral.js +377 -0
  67. package/build/dex/integral/integral.js.map +1 -0
  68. package/build/dex/integral/types.d.ts +84 -0
  69. package/build/dex/integral/types.js +9 -0
  70. package/build/dex/integral/types.js.map +1 -0
  71. package/build/dex/integral/utils-e2e.d.ts +9 -0
  72. package/build/dex/integral/utils-e2e.js +131 -0
  73. package/build/dex/integral/utils-e2e.js.map +1 -0
  74. package/build/dex/integral/utils.d.ts +17 -0
  75. package/build/dex/integral/utils.js +94 -0
  76. package/build/dex/integral/utils.js.map +1 -0
  77. package/build/dex/oswap/config.d.ts +5 -0
  78. package/build/dex/oswap/config.js +31 -0
  79. package/build/dex/oswap/config.js.map +1 -0
  80. package/build/dex/oswap/oswap-pool.d.ts +51 -0
  81. package/build/dex/oswap/oswap-pool.js +150 -0
  82. package/build/dex/oswap/oswap-pool.js.map +1 -0
  83. package/build/dex/oswap/oswap.d.ts +46 -0
  84. package/build/dex/oswap/oswap.js +266 -0
  85. package/build/dex/oswap/oswap.js.map +1 -0
  86. package/build/dex/oswap/types.d.ts +20 -0
  87. package/build/dex/oswap/types.js +3 -0
  88. package/build/dex/oswap/types.js.map +1 -0
  89. package/build/dex/platypus/platypus.d.ts +1 -2
  90. package/build/dex/platypus/platypus.js +0 -45
  91. package/build/dex/platypus/platypus.js.map +1 -1
  92. package/build/dex/sdai/config.d.ts +11 -0
  93. package/build/dex/sdai/config.js +21 -0
  94. package/build/dex/sdai/config.js.map +1 -0
  95. package/build/dex/sdai/constants.d.ts +2 -0
  96. package/build/dex/sdai/constants.js +6 -0
  97. package/build/dex/sdai/constants.js.map +1 -0
  98. package/build/dex/sdai/scripts/validate-state.js +102 -0
  99. package/build/dex/sdai/scripts/validate-state.js.map +1 -0
  100. package/build/dex/sdai/sdai-pool.d.ts +16 -0
  101. package/build/dex/sdai/sdai-pool.js +85 -0
  102. package/build/dex/sdai/sdai-pool.js.map +1 -0
  103. package/build/dex/sdai/sdai.d.ts +51 -0
  104. package/build/dex/sdai/sdai.js +172 -0
  105. package/build/dex/sdai/sdai.js.map +1 -0
  106. package/build/dex/sdai/types.d.ts +21 -0
  107. package/build/dex/sdai/types.js +11 -0
  108. package/build/dex/sdai/types.js.map +1 -0
  109. package/build/dex/sdai/utils.d.ts +4 -0
  110. package/build/dex/sdai/utils.js +39 -0
  111. package/build/dex/sdai/utils.js.map +1 -0
  112. package/build/dex/stable-pool.js +8 -1
  113. package/build/dex/stable-pool.js.map +1 -1
  114. package/build/dex/swaap-v1/swaap-v1.d.ts +1 -2
  115. package/build/dex/swaap-v1/swaap-v1.js +0 -14
  116. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  117. package/build/dex/uniswap-v3/contract-math/Oracle.js +4 -4
  118. package/build/dex/uniswap-v3/contract-math/Oracle.js.map +1 -1
  119. package/build/executor/compressor/Compressor.d.ts +23 -0
  120. package/build/executor/compressor/Compressor.js +144 -0
  121. package/build/executor/compressor/Compressor.js.map +1 -0
  122. package/build/executor/compressor/compress.d.ts +17 -0
  123. package/build/executor/compressor/compress.js +187 -0
  124. package/build/executor/compressor/compress.js.map +1 -0
  125. package/build/executor/compressor/compress_functions/addressSubstitution.d.ts +6 -0
  126. package/build/executor/compressor/compress_functions/addressSubstitution.js +29 -0
  127. package/build/executor/compressor/compress_functions/addressSubstitution.js.map +1 -0
  128. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.d.ts +10 -0
  129. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js +40 -0
  130. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js.map +1 -0
  131. package/build/executor/compressor/compress_functions/byteSubstitution.d.ts +11 -0
  132. package/build/executor/compressor/compress_functions/byteSubstitution.js +64 -0
  133. package/build/executor/compressor/compress_functions/byteSubstitution.js.map +1 -0
  134. package/build/executor/compressor/compress_functions/ffSubstitution.d.ts +7 -0
  135. package/build/executor/compressor/compress_functions/ffSubstitution.js +54 -0
  136. package/build/executor/compressor/compress_functions/ffSubstitution.js.map +1 -0
  137. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.d.ts +8 -0
  138. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js +67 -0
  139. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js.map +1 -0
  140. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.d.ts +8 -0
  141. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js +61 -0
  142. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js.map +1 -0
  143. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.d.ts +6 -0
  144. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js +37 -0
  145. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js.map +1 -0
  146. package/build/executor/compressor/compress_functions/searchUnusedBytes.d.ts +9 -0
  147. package/build/executor/compressor/compress_functions/searchUnusedBytes.js +33 -0
  148. package/build/executor/compressor/compress_functions/searchUnusedBytes.js.map +1 -0
  149. package/build/executor/compressor/fetchSaved.js +17 -0
  150. package/build/executor/compressor/fetchSaved.js.map +1 -0
  151. package/build/executor/compressor/utils/computeCostL2.d.ts +2 -0
  152. package/build/executor/compressor/utils/computeCostL2.js +14 -0
  153. package/build/executor/compressor/utils/computeCostL2.js.map +1 -0
  154. package/build/executor/compressor/utils/findLongestDuplicatedString.d.ts +2 -0
  155. package/build/executor/compressor/utils/findLongestDuplicatedString.js +30 -0
  156. package/build/executor/compressor/utils/findLongestDuplicatedString.js.map +1 -0
  157. package/build/executor/compressor/utils/getAllIndexes.d.ts +2 -0
  158. package/build/executor/compressor/utils/getAllIndexes.js +12 -0
  159. package/build/executor/compressor/utils/getAllIndexes.js.map +1 -0
  160. package/build/executor/compressor/utils/getByteForAddress.d.ts +2 -0
  161. package/build/executor/compressor/utils/getByteForAddress.js +14 -0
  162. package/build/executor/compressor/utils/getByteForAddress.js.map +1 -0
  163. package/build/executor/compressor/utils/intTo2Bytes.d.ts +2 -0
  164. package/build/executor/compressor/utils/intTo2Bytes.js +14 -0
  165. package/build/executor/compressor/utils/intTo2Bytes.js.map +1 -0
  166. package/build/executor/compressor/utils/intTo3Bytes.d.ts +2 -0
  167. package/build/executor/compressor/utils/intTo3Bytes.js +18 -0
  168. package/build/executor/compressor/utils/intTo3Bytes.js.map +1 -0
  169. package/build/executor/compressor/utils/intToByte.d.ts +2 -0
  170. package/build/executor/compressor/utils/intToByte.js +10 -0
  171. package/build/executor/compressor/utils/intToByte.js.map +1 -0
  172. package/build/generic-swap-transaction-builder.js +3 -1
  173. package/build/generic-swap-transaction-builder.js.map +1 -1
  174. package/build/router/simpleswap.js +3 -1
  175. package/build/router/simpleswap.js.map +1 -1
  176. package/package.json +2 -2
  177. package/src/abi/BProtocol.json +1155 -0
  178. package/src/abi/Jarvis.json +1172 -0
  179. package/src/abi/MStableAsset.json +1545 -0
  180. package/src/abi/OneInchLp.json +1304 -0
  181. package/src/abi/Onebit.json +736 -0
  182. package/src/abi/Shell.json +1294 -0
  183. package/src/abi/TraderJoeV2Router.json +50 -0
  184. package/src/abi/integral/factory.json +333 -0
  185. package/src/abi/integral/oracle.json +501 -0
  186. package/src/abi/integral/pool.json +1041 -0
  187. package/src/abi/integral/relayer.json +1536 -0
  188. package/src/abi/zrx.v2.json +1967 -0
  189. package/src/abi/zrx.v3.json +3454 -0
  190. package/src/abi/zrx.v4.json +2193 -0
  191. package/src/config.ts +1 -1
  192. package/src/dex/OneInchLp.ts +84 -0
  193. package/src/dex/bProtocol/bProtocol-e2e.test.ts +93 -0
  194. package/src/dex/bProtocol/bProtocol.ts +108 -0
  195. package/src/dex/bProtocol/types.ts +13 -0
  196. package/src/dex/curve-v1-factory/config.ts +10 -47
  197. package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +16 -92
  198. package/src/dex/curve-v1-factory/curve-v1-factory-integration.test.ts +5 -125
  199. package/src/dex/curve-v1-factory/curve-v1-factory.ts +45 -137
  200. package/src/dex/curve-v1-factory/price-handlers/functions/constants.ts +2 -0
  201. package/src/dex/curve-v1-factory/price-handlers/functions/get_dx.ts +1 -24
  202. package/src/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.ts +2 -3
  203. package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +0 -1
  204. package/src/dex/curve-v1-factory/state-polling-pools/pool-polling-base.ts +10 -31
  205. package/src/dex/curve-v1-factory/types.ts +6 -22
  206. package/src/dex/curve-v1-stable-ng/config.ts +0 -18
  207. package/src/dex/curve-v1-stable-ng/curve-v1-stable-ng-e2e.test.ts +0 -17
  208. package/src/dex/index.ts +20 -3
  209. package/src/dex/integral/config.ts +20 -0
  210. package/src/dex/integral/context.ts +287 -0
  211. package/src/dex/integral/integral-e2e.test.ts +86 -0
  212. package/src/dex/integral/integral-events.test.ts +412 -0
  213. package/src/dex/integral/integral-factory.ts +146 -0
  214. package/src/dex/integral/integral-integration.test.ts +221 -0
  215. package/src/dex/integral/integral-pool.ts +198 -0
  216. package/src/dex/integral/integral-pricing.ts +190 -0
  217. package/src/dex/integral/integral-relayer.ts +285 -0
  218. package/src/dex/integral/integral-token.ts +95 -0
  219. package/src/dex/integral/integral.ts +523 -0
  220. package/src/dex/integral/test-artifacts/configs.json +1 -0
  221. package/src/dex/integral/test-artifacts/logs.json +1 -0
  222. package/src/dex/integral/test-artifacts/states.json +1 -0
  223. package/src/dex/integral/types.ts +88 -0
  224. package/src/dex/integral/utils-e2e.ts +194 -0
  225. package/src/dex/integral/utils.ts +146 -0
  226. package/src/dex/jarvis.ts +262 -0
  227. package/src/dex/mStable.ts +147 -0
  228. package/src/dex/onebit/onebit.ts +113 -0
  229. package/src/dex/onebit/types.ts +17 -0
  230. package/src/dex/shell.ts +84 -0
  231. package/src/dex/trader-joe-v2.ts +148 -0
  232. package/src/dex/uniswap-v3/contract-math/Oracle.ts +5 -4
  233. package/src/dex/zerox/config.ts +31 -0
  234. package/src/dex/zerox/index.ts +328 -0
  235. package/src/dex/zerox/order.ts +62 -0
  236. package/src/dex/zerox/types.ts +82 -0
  237. package/src/dex/zerox/zerox-e2e.test.ts +110 -0
  238. package/src/generic-swap-transaction-builder.ts +3 -1
  239. package/src/router/simpleswap.ts +3 -1
  240. package/tests/constants-e2e.ts +1 -1
  241. package/tests/utils-e2e.ts +0 -2
  242. package/.vscode/tasks.json +0 -15
  243. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +0 -52
  244. package/build/dex/aave-v2/tokens-avalanche.json +0 -44
  245. package/build/dex/aave-v2/tokens-mainnet.json +0 -188
  246. package/build/dex/aave-v2/tokens-polygon.json +0 -44
  247. package/build/dex/maker-psm/scripts/gem.abi.json +0 -136
  248. package/build/dex/maker-psm/scripts/validate-state.js +0 -185
  249. package/build/dex/maker-psm/scripts/validate-state.js.map +0 -1
  250. package/build/dex/maker-psm/scripts/vat.abi.json +0 -243
  251. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +0 -53
  252. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +0 -1
  253. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +0 -17
  254. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +0 -64
  255. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +0 -1
  256. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +0 -17
  257. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +0 -79
  258. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +0 -1
  259. package/src/abi/curve-v1-factory/CurveV1Router.abi.json +0 -331
  260. package/src/dex/curve-v1-factory/optimizer.ts +0 -61
  261. /package/build/dex/{solidly-v3/scripts/check-event-pool-event.d.ts → sdai/scripts/validate-state.d.ts} +0 -0
  262. /package/build/{dex/maker-psm/scripts/validate-state.d.ts → executor/compressor/fetchSaved.d.ts} +0 -0
@@ -1,331 +0,0 @@
1
- [
2
- {
3
- "name": "Exchange",
4
- "inputs": [
5
- {
6
- "name": "sender",
7
- "type": "address",
8
- "indexed": true
9
- },
10
- {
11
- "name": "receiver",
12
- "type": "address",
13
- "indexed": true
14
- },
15
- {
16
- "name": "route",
17
- "type": "address[11]",
18
- "indexed": false
19
- },
20
- {
21
- "name": "swap_params",
22
- "type": "uint256[5][5]",
23
- "indexed": false
24
- },
25
- {
26
- "name": "pools",
27
- "type": "address[5]",
28
- "indexed": false
29
- },
30
- {
31
- "name": "in_amount",
32
- "type": "uint256",
33
- "indexed": false
34
- },
35
- {
36
- "name": "out_amount",
37
- "type": "uint256",
38
- "indexed": false
39
- }
40
- ],
41
- "anonymous": false,
42
- "type": "event"
43
- },
44
- {
45
- "stateMutability": "payable",
46
- "type": "fallback"
47
- },
48
- {
49
- "stateMutability": "nonpayable",
50
- "type": "constructor",
51
- "inputs": [
52
- {
53
- "name": "_weth",
54
- "type": "address"
55
- },
56
- {
57
- "name": "_stable_calc",
58
- "type": "address"
59
- },
60
- {
61
- "name": "_crypto_calc",
62
- "type": "address"
63
- }
64
- ],
65
- "outputs": []
66
- },
67
- {
68
- "stateMutability": "payable",
69
- "type": "function",
70
- "name": "exchange",
71
- "inputs": [
72
- {
73
- "name": "_route",
74
- "type": "address[11]"
75
- },
76
- {
77
- "name": "_swap_params",
78
- "type": "uint256[5][5]"
79
- },
80
- {
81
- "name": "_amount",
82
- "type": "uint256"
83
- },
84
- {
85
- "name": "_min_dy",
86
- "type": "uint256"
87
- }
88
- ],
89
- "outputs": [
90
- {
91
- "name": "",
92
- "type": "uint256"
93
- }
94
- ]
95
- },
96
- {
97
- "stateMutability": "payable",
98
- "type": "function",
99
- "name": "exchange",
100
- "inputs": [
101
- {
102
- "name": "_route",
103
- "type": "address[11]"
104
- },
105
- {
106
- "name": "_swap_params",
107
- "type": "uint256[5][5]"
108
- },
109
- {
110
- "name": "_amount",
111
- "type": "uint256"
112
- },
113
- {
114
- "name": "_min_dy",
115
- "type": "uint256"
116
- },
117
- {
118
- "name": "_pools",
119
- "type": "address[5]"
120
- }
121
- ],
122
- "outputs": [
123
- {
124
- "name": "",
125
- "type": "uint256"
126
- }
127
- ]
128
- },
129
- {
130
- "stateMutability": "payable",
131
- "type": "function",
132
- "name": "exchange",
133
- "inputs": [
134
- {
135
- "name": "_route",
136
- "type": "address[11]"
137
- },
138
- {
139
- "name": "_swap_params",
140
- "type": "uint256[5][5]"
141
- },
142
- {
143
- "name": "_amount",
144
- "type": "uint256"
145
- },
146
- {
147
- "name": "_min_dy",
148
- "type": "uint256"
149
- },
150
- {
151
- "name": "_pools",
152
- "type": "address[5]"
153
- },
154
- {
155
- "name": "_receiver",
156
- "type": "address"
157
- }
158
- ],
159
- "outputs": [
160
- {
161
- "name": "",
162
- "type": "uint256"
163
- }
164
- ]
165
- },
166
- {
167
- "stateMutability": "view",
168
- "type": "function",
169
- "name": "get_dy",
170
- "inputs": [
171
- {
172
- "name": "_route",
173
- "type": "address[11]"
174
- },
175
- {
176
- "name": "_swap_params",
177
- "type": "uint256[5][5]"
178
- },
179
- {
180
- "name": "_amount",
181
- "type": "uint256"
182
- }
183
- ],
184
- "outputs": [
185
- {
186
- "name": "",
187
- "type": "uint256"
188
- }
189
- ]
190
- },
191
- {
192
- "stateMutability": "view",
193
- "type": "function",
194
- "name": "get_dy",
195
- "inputs": [
196
- {
197
- "name": "_route",
198
- "type": "address[11]"
199
- },
200
- {
201
- "name": "_swap_params",
202
- "type": "uint256[5][5]"
203
- },
204
- {
205
- "name": "_amount",
206
- "type": "uint256"
207
- },
208
- {
209
- "name": "_pools",
210
- "type": "address[5]"
211
- }
212
- ],
213
- "outputs": [
214
- {
215
- "name": "",
216
- "type": "uint256"
217
- }
218
- ]
219
- },
220
- {
221
- "stateMutability": "view",
222
- "type": "function",
223
- "name": "get_dx",
224
- "inputs": [
225
- {
226
- "name": "_route",
227
- "type": "address[11]"
228
- },
229
- {
230
- "name": "_swap_params",
231
- "type": "uint256[5][5]"
232
- },
233
- {
234
- "name": "_out_amount",
235
- "type": "uint256"
236
- },
237
- {
238
- "name": "_pools",
239
- "type": "address[5]"
240
- }
241
- ],
242
- "outputs": [
243
- {
244
- "name": "",
245
- "type": "uint256"
246
- }
247
- ]
248
- },
249
- {
250
- "stateMutability": "view",
251
- "type": "function",
252
- "name": "get_dx",
253
- "inputs": [
254
- {
255
- "name": "_route",
256
- "type": "address[11]"
257
- },
258
- {
259
- "name": "_swap_params",
260
- "type": "uint256[5][5]"
261
- },
262
- {
263
- "name": "_out_amount",
264
- "type": "uint256"
265
- },
266
- {
267
- "name": "_pools",
268
- "type": "address[5]"
269
- },
270
- {
271
- "name": "_base_pools",
272
- "type": "address[5]"
273
- }
274
- ],
275
- "outputs": [
276
- {
277
- "name": "",
278
- "type": "uint256"
279
- }
280
- ]
281
- },
282
- {
283
- "stateMutability": "view",
284
- "type": "function",
285
- "name": "get_dx",
286
- "inputs": [
287
- {
288
- "name": "_route",
289
- "type": "address[11]"
290
- },
291
- {
292
- "name": "_swap_params",
293
- "type": "uint256[5][5]"
294
- },
295
- {
296
- "name": "_out_amount",
297
- "type": "uint256"
298
- },
299
- {
300
- "name": "_pools",
301
- "type": "address[5]"
302
- },
303
- {
304
- "name": "_base_pools",
305
- "type": "address[5]"
306
- },
307
- {
308
- "name": "_base_tokens",
309
- "type": "address[5]"
310
- }
311
- ],
312
- "outputs": [
313
- {
314
- "name": "",
315
- "type": "uint256"
316
- }
317
- ]
318
- },
319
- {
320
- "stateMutability": "view",
321
- "type": "function",
322
- "name": "version",
323
- "inputs": [],
324
- "outputs": [
325
- {
326
- "name": "",
327
- "type": "string"
328
- }
329
- ]
330
- }
331
- ]
@@ -1,61 +0,0 @@
1
- import { UnoptimizedRate } from '../../types';
2
- import { OptimalSwap, ParaSwapVersion } from '@paraswap/core';
3
- import _ from 'lodash';
4
- import { CurveV1FactoryConfig } from './config';
5
- import { CurveV1StableNgConfig } from '../curve-v1-stable-ng/config';
6
-
7
- const CurveV1FactoryForks = Object.keys(CurveV1FactoryConfig)
8
- .concat(Object.keys(CurveV1StableNgConfig))
9
- .map(dexName => dexName.toLowerCase());
10
-
11
- export function curveV1Merge(or: UnoptimizedRate): UnoptimizedRate {
12
- // apply optimisation only for V6
13
- if (or.version !== ParaSwapVersion.V6) {
14
- return or;
15
- }
16
-
17
- const fixRoute = (rawRate: OptimalSwap[]): OptimalSwap[] => {
18
- let lastExchange: false | OptimalSwap = false;
19
- let optimizedRate = new Array<OptimalSwap>();
20
- rawRate.forEach((s: OptimalSwap) => {
21
- if (
22
- s.swapExchanges.length !== 1 ||
23
- !CurveV1FactoryForks.includes(s.swapExchanges[0].exchange.toLowerCase())
24
- ) {
25
- lastExchange = false;
26
- optimizedRate.push(s);
27
- } else if (
28
- lastExchange &&
29
- _.last(
30
- <any[]>lastExchange.swapExchanges[0].data.path,
31
- )!.tokenOut.toLowerCase() ===
32
- s.swapExchanges[0].data.path[0].tokenIn.toLowerCase()
33
- ) {
34
- lastExchange.swapExchanges[0].data.path.push(
35
- s.swapExchanges[0].data.path[0],
36
- );
37
- lastExchange.swapExchanges[0].poolAddresses!.push(
38
- s.swapExchanges[0].poolAddresses![0],
39
- );
40
- lastExchange.swapExchanges[0].data.gasUSD = (
41
- parseFloat(lastExchange.swapExchanges[0].data.gasUSD) +
42
- parseFloat(s.swapExchanges[0].data.gasUSD)
43
- ).toFixed(6);
44
- lastExchange.destToken = s.destToken;
45
- lastExchange.destDecimals = s.destDecimals;
46
- lastExchange.swapExchanges[0].destAmount =
47
- s.swapExchanges[0].destAmount;
48
- } else {
49
- lastExchange = _.cloneDeep(s);
50
- optimizedRate.push(lastExchange);
51
- }
52
- });
53
- return optimizedRate;
54
- };
55
- or.bestRoute = or.bestRoute.map(r => ({
56
- ...r,
57
- swaps: fixRoute(r.swaps),
58
- }));
59
-
60
- return or;
61
- }