@paraswap/dex-lib 4.0.4 → 4.0.5-balancer-v3.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 (189) 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/usual-m-smart-m/usualM.abi.json +483 -0
  9. package/build/abi/usual-m-usd0/usualCollateralDao.abi.json +681 -0
  10. package/build/abi/usual-m-wrapped-m/usualM.abi.json +509 -0
  11. package/build/abi/{integral/relayer.json → wombat/pool.json} +474 -721
  12. package/build/dex/aave-v1/aave-v1.d.ts +2 -1
  13. package/build/dex/aave-v1/aave-v1.js +23 -0
  14. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  15. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  16. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  17. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  18. package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
  19. package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
  20. package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
  21. package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
  22. package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
  23. package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
  24. package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
  25. package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
  26. package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
  27. package/build/dex/balancer-v3/balancer-v3-pool.d.ts +1 -0
  28. package/build/dex/balancer-v3/balancer-v3-pool.js +29 -11
  29. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -1
  30. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.d.ts +34 -0
  31. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js +406 -0
  32. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js.map +1 -0
  33. package/build/dex/balancer-v3/config.js +1 -5
  34. package/build/dex/balancer-v3/config.js.map +1 -1
  35. package/build/dex/balancer-v3/getOnChainState.d.ts +9 -0
  36. package/build/dex/balancer-v3/getOnChainState.js +38 -5
  37. package/build/dex/balancer-v3/getOnChainState.js.map +1 -1
  38. package/build/dex/balancer-v3/types.d.ts +1 -0
  39. package/build/dex/inception/config.d.ts +4 -0
  40. package/build/dex/inception/config.js +109 -0
  41. package/build/dex/inception/config.js.map +1 -0
  42. package/build/dex/inception/inception-event-pool.d.ts +16 -0
  43. package/build/dex/inception/inception-event-pool.js +49 -0
  44. package/build/dex/inception/inception-event-pool.js.map +1 -0
  45. package/build/dex/inception/inception.d.ts +43 -0
  46. package/build/dex/inception/inception.js +180 -0
  47. package/build/dex/inception/inception.js.map +1 -0
  48. package/build/dex/inception/tokens.d.ts +9 -0
  49. package/build/dex/inception/tokens.js +28 -0
  50. package/build/dex/inception/tokens.js.map +1 -0
  51. package/build/dex/inception/types.d.ts +22 -0
  52. package/build/dex/inception/types.js +3 -0
  53. package/build/dex/inception/types.js.map +1 -0
  54. package/build/dex/inception/utils.d.ts +7 -0
  55. package/build/dex/inception/utils.js +58 -0
  56. package/build/dex/inception/utils.js.map +1 -0
  57. package/build/dex/jarvis.d.ts +2 -1
  58. package/build/dex/jarvis.js +58 -0
  59. package/build/dex/jarvis.js.map +1 -1
  60. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  61. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  62. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  63. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  64. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  65. package/build/dex/platypus/platypus.d.ts +2 -1
  66. package/build/dex/platypus/platypus.js +45 -0
  67. package/build/dex/platypus/platypus.js.map +1 -1
  68. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  69. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  70. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  71. package/build/dex/stable-pool.js +1 -8
  72. package/build/dex/stable-pool.js.map +1 -1
  73. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  74. package/build/dex/swaap-v1/swaap-v1.js +14 -0
  75. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  76. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  77. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  78. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  79. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  80. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  81. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  82. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
  83. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
  84. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
  85. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
  86. package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
  87. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
  88. package/build/dex/usual/types.d.ts +13 -0
  89. package/build/dex/usual/types.js +3 -0
  90. package/build/dex/usual/types.js.map +1 -0
  91. package/build/dex/usual/usual-bond.d.ts +18 -0
  92. package/build/dex/usual/usual-bond.js +52 -0
  93. package/build/dex/usual/usual-bond.js.map +1 -0
  94. package/build/dex/usual/usual-m-smart-m.d.ts +17 -0
  95. package/build/dex/usual/usual-m-smart-m.js +50 -0
  96. package/build/dex/usual/usual-m-smart-m.js.map +1 -0
  97. package/build/dex/usual/usual-m-usd0.d.ts +17 -0
  98. package/build/dex/usual/usual-m-usd0.js +51 -0
  99. package/build/dex/usual/usual-m-usd0.js.map +1 -0
  100. package/build/dex/usual/usual-m-wrapped-m.d.ts +17 -0
  101. package/build/dex/usual/usual-m-wrapped-m.js +50 -0
  102. package/build/dex/usual/usual-m-wrapped-m.js.map +1 -0
  103. package/build/dex/usual/usual.d.ts +27 -0
  104. package/build/dex/usual/usual.js +125 -0
  105. package/build/dex/usual/usual.js.map +1 -0
  106. package/build/dex/usual-m-smart-m/config.d.ts +3 -0
  107. package/build/dex/usual-m-smart-m/config.js +13 -0
  108. package/build/dex/usual-m-smart-m/config.js.map +1 -0
  109. package/build/dex/usual-m-smart-m/types.d.ts +7 -0
  110. package/build/dex/usual-m-smart-m/types.js +3 -0
  111. package/build/dex/usual-m-smart-m/types.js.map +1 -0
  112. package/build/dex/usual-m-smart-m/usual-m-smart-m.d.ts +35 -0
  113. package/build/dex/usual-m-smart-m/usual-m-smart-m.js +161 -0
  114. package/build/dex/usual-m-smart-m/usual-m-smart-m.js.map +1 -0
  115. package/build/dex/usual-m-usd0/config.d.ts +3 -0
  116. package/build/dex/usual-m-usd0/config.js +14 -0
  117. package/build/dex/usual-m-usd0/config.js.map +1 -0
  118. package/build/dex/usual-m-usd0/types.d.ts +8 -0
  119. package/build/dex/usual-m-usd0/types.js +3 -0
  120. package/build/dex/usual-m-usd0/types.js.map +1 -0
  121. package/build/dex/usual-m-usd0/usual-m-usd0.d.ts +35 -0
  122. package/build/dex/usual-m-usd0/usual-m-usd0.js +159 -0
  123. package/build/dex/usual-m-usd0/usual-m-usd0.js.map +1 -0
  124. package/build/dex/zerox/index.d.ts +4 -26
  125. package/build/dex/zerox/index.js +50 -42
  126. package/build/dex/zerox/index.js.map +1 -1
  127. package/build/dex/zerox/types.d.ts +29 -0
  128. package/build/dex/zerox/types.js +8 -1
  129. package/build/dex/zerox/types.js.map +1 -1
  130. package/build/lib/pub-sub.d.ts +35 -0
  131. package/build/lib/pub-sub.js +106 -0
  132. package/build/lib/pub-sub.js.map +1 -0
  133. package/package.json +1 -1
  134. package/src/dex/balancer-v3/balancer-v3-e2e.test.ts +30 -6
  135. package/src/dex/balancer-v3/balancer-v3-integration.test.ts +229 -1
  136. package/src/dex/balancer-v3/balancer-v3-pool.ts +52 -10
  137. package/src/dex/balancer-v3/config.ts +1 -5
  138. package/src/dex/balancer-v3/getOnChainState.ts +80 -6
  139. package/src/dex/balancer-v3/types.ts +1 -0
  140. package/tests/constants-e2e.ts +11 -0
  141. package/.idea/aws.xml +0 -17
  142. package/.idea/codeStyles/Project.xml +0 -19
  143. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  144. package/.idea/misc.xml +0 -6
  145. package/.idea/modules.xml +0 -8
  146. package/.idea/paraswap-dex-lib.iml +0 -9
  147. package/.idea/prettier.xml +0 -7
  148. package/.idea/vcs.xml +0 -6
  149. package/build/abi/integral/factory.json +0 -333
  150. package/build/abi/integral/oracle.json +0 -501
  151. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
  152. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
  153. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
  154. package/build/dex/integral/config.d.ts +0 -4
  155. package/build/dex/integral/config.js +0 -20
  156. package/build/dex/integral/config.js.map +0 -1
  157. package/build/dex/integral/context.d.ts +0 -40
  158. package/build/dex/integral/context.js +0 -158
  159. package/build/dex/integral/context.js.map +0 -1
  160. package/build/dex/integral/integral-factory.d.ts +0 -24
  161. package/build/dex/integral/integral-factory.js +0 -95
  162. package/build/dex/integral/integral-factory.js.map +0 -1
  163. package/build/dex/integral/integral-pool.d.ts +0 -50
  164. package/build/dex/integral/integral-pool.js +0 -149
  165. package/build/dex/integral/integral-pool.js.map +0 -1
  166. package/build/dex/integral/integral-pricing.d.ts +0 -18
  167. package/build/dex/integral/integral-pricing.js +0 -114
  168. package/build/dex/integral/integral-pricing.js.map +0 -1
  169. package/build/dex/integral/integral-relayer.d.ts +0 -42
  170. package/build/dex/integral/integral-relayer.js +0 -192
  171. package/build/dex/integral/integral-relayer.js.map +0 -1
  172. package/build/dex/integral/integral-token.d.ts +0 -27
  173. package/build/dex/integral/integral-token.js +0 -59
  174. package/build/dex/integral/integral-token.js.map +0 -1
  175. package/build/dex/integral/integral.d.ts +0 -41
  176. package/build/dex/integral/integral.js +0 -376
  177. package/build/dex/integral/integral.js.map +0 -1
  178. package/build/dex/integral/types.d.ts +0 -85
  179. package/build/dex/integral/types.js +0 -9
  180. package/build/dex/integral/types.js.map +0 -1
  181. package/build/dex/integral/utils-e2e.d.ts +0 -9
  182. package/build/dex/integral/utils-e2e.js +0 -131
  183. package/build/dex/integral/utils-e2e.js.map +0 -1
  184. package/build/dex/integral/utils.d.ts +0 -17
  185. package/build/dex/integral/utils.js +0 -94
  186. package/build/dex/integral/utils.js.map +0 -1
  187. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  188. package/build/dex/trader-joe-v2.1/optimizer.js +0 -47
  189. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
@@ -0,0 +1,406 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const pools = [
4
+ {
5
+ id: '0x0d7291d8bdc6b376aadacbf05b1ef8a8292ef58a',
6
+ type: 'STABLE',
7
+ poolTokens: [
8
+ {
9
+ address: '0x8a88124522dbbf1e56352ba3de1d9f78c143751e',
10
+ weight: null,
11
+ isErc4626: true,
12
+ underlyingToken: {
13
+ address: '0x94a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8',
14
+ },
15
+ },
16
+ {
17
+ address: '0x978206fae13faf5a8d293fb614326b237684b750',
18
+ weight: null,
19
+ isErc4626: true,
20
+ underlyingToken: {
21
+ address: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',
22
+ },
23
+ },
24
+ ],
25
+ },
26
+ {
27
+ id: '0x1017d7b181ab63ceeb36d96c52a8056e02b7edd0',
28
+ type: 'STABLE',
29
+ poolTokens: [
30
+ {
31
+ address: '0x8a88124522dbbf1e56352ba3de1d9f78c143751e',
32
+ weight: null,
33
+ isErc4626: true,
34
+ underlyingToken: {
35
+ address: '0x94a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8',
36
+ },
37
+ },
38
+ {
39
+ address: '0x978206fae13faf5a8d293fb614326b237684b750',
40
+ weight: null,
41
+ isErc4626: true,
42
+ underlyingToken: {
43
+ address: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',
44
+ },
45
+ },
46
+ ],
47
+ },
48
+ {
49
+ id: '0x1ada5f54c7aafe20dfcd493de4dbcf4a3061c79c',
50
+ type: 'WEIGHTED',
51
+ poolTokens: [
52
+ {
53
+ address: '0x0f409e839a6a790aecb737e4436293be11717f95',
54
+ weight: '0.33',
55
+ isErc4626: false,
56
+ underlyingToken: null,
57
+ },
58
+ {
59
+ address: '0xb19382073c7a0addbb56ac6af1808fa49e377b75',
60
+ weight: '0.67',
61
+ isErc4626: false,
62
+ underlyingToken: null,
63
+ },
64
+ ],
65
+ },
66
+ {
67
+ id: '0x2ff3b96e0057a1f25f1d62ab800554ccdb268ab8',
68
+ type: 'WEIGHTED',
69
+ poolTokens: [
70
+ {
71
+ address: '0x7b79995e5f793a07bc00c21412e50ecae098e7f9',
72
+ weight: '0.5',
73
+ isErc4626: false,
74
+ underlyingToken: null,
75
+ },
76
+ {
77
+ address: '0xb19382073c7a0addbb56ac6af1808fa49e377b75',
78
+ weight: '0.5',
79
+ isErc4626: false,
80
+ underlyingToken: null,
81
+ },
82
+ ],
83
+ },
84
+ {
85
+ id: '0x3bc893eeb97ecdbb1b17dcc9e88d51e4a0d3fe35',
86
+ type: 'STABLE',
87
+ poolTokens: [
88
+ {
89
+ address: '0x7b79995e5f793a07bc00c21412e50ecae098e7f9',
90
+ weight: null,
91
+ isErc4626: false,
92
+ underlyingToken: null,
93
+ },
94
+ {
95
+ address: '0x94a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8',
96
+ weight: null,
97
+ isErc4626: false,
98
+ underlyingToken: null,
99
+ },
100
+ {
101
+ address: '0x978206fae13faf5a8d293fb614326b237684b750',
102
+ weight: null,
103
+ isErc4626: true,
104
+ underlyingToken: {
105
+ address: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',
106
+ },
107
+ },
108
+ {
109
+ address: '0xde46e43f46ff74a23a65ebb0580cbe3dfe684a17',
110
+ weight: null,
111
+ isErc4626: true,
112
+ underlyingToken: {
113
+ address: '0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357',
114
+ },
115
+ },
116
+ ],
117
+ },
118
+ {
119
+ id: '0x42de4fa875126fdbaf590b2fc3802adbca58acee',
120
+ type: 'STABLE',
121
+ poolTokens: [
122
+ {
123
+ address: '0xd63db0b88dca565633fb8d70a70b9b8093d34a7e',
124
+ weight: null,
125
+ isErc4626: false,
126
+ underlyingToken: null,
127
+ },
128
+ {
129
+ address: '0xde46e43f46ff74a23a65ebb0580cbe3dfe684a17',
130
+ weight: null,
131
+ isErc4626: true,
132
+ underlyingToken: {
133
+ address: '0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357',
134
+ },
135
+ },
136
+ ],
137
+ },
138
+ {
139
+ id: '0x946e59e9637f44eb122fe64b372aaf6ed0441da1',
140
+ type: 'WEIGHTED',
141
+ poolTokens: [
142
+ {
143
+ address: '0x94a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8',
144
+ weight: '0.5',
145
+ isErc4626: false,
146
+ underlyingToken: null,
147
+ },
148
+ {
149
+ address: '0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357',
150
+ weight: '0.5',
151
+ isErc4626: false,
152
+ underlyingToken: null,
153
+ },
154
+ ],
155
+ },
156
+ {
157
+ id: '0x965f7d7387d81056ebf0edaf4a869dc46471a676',
158
+ type: 'WEIGHTED',
159
+ poolTokens: [
160
+ {
161
+ address: '0x7b79995e5f793a07bc00c21412e50ecae098e7f9',
162
+ weight: '0.5',
163
+ isErc4626: false,
164
+ underlyingToken: null,
165
+ },
166
+ {
167
+ address: '0xd63db0b88dca565633fb8d70a70b9b8093d34a7e',
168
+ weight: '0.5',
169
+ isErc4626: false,
170
+ underlyingToken: null,
171
+ },
172
+ ],
173
+ },
174
+ {
175
+ id: '0x9dd65a7c9e3973edbf9c5a6f857252b0a67627aa',
176
+ type: 'STABLE',
177
+ poolTokens: [
178
+ {
179
+ address: '0x6bf294b80c7d8dc72dee762af5d01260b756a051',
180
+ weight: null,
181
+ isErc4626: false,
182
+ underlyingToken: null,
183
+ },
184
+ {
185
+ address: '0x80d6d3946ed8a1da4e226aa21ccddc32bd127d1a',
186
+ weight: null,
187
+ isErc4626: false,
188
+ underlyingToken: null,
189
+ },
190
+ {
191
+ address: '0xb77eb1a70a96fdaaeb31db1b42f2b8b5846b2613',
192
+ weight: null,
193
+ isErc4626: false,
194
+ underlyingToken: null,
195
+ },
196
+ {
197
+ address: '0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357',
198
+ weight: null,
199
+ isErc4626: false,
200
+ underlyingToken: null,
201
+ },
202
+ ],
203
+ },
204
+ {
205
+ id: '0xadb63f54b5ca608144513f03ff57ea415843b083',
206
+ type: 'WEIGHTED',
207
+ poolTokens: [
208
+ {
209
+ address: '0x6bf294b80c7d8dc72dee762af5d01260b756a051',
210
+ weight: '0.33',
211
+ isErc4626: false,
212
+ underlyingToken: null,
213
+ },
214
+ {
215
+ address: '0x80d6d3946ed8a1da4e226aa21ccddc32bd127d1a',
216
+ weight: '0.33',
217
+ isErc4626: false,
218
+ underlyingToken: null,
219
+ },
220
+ {
221
+ address: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',
222
+ weight: '0.34',
223
+ isErc4626: false,
224
+ underlyingToken: null,
225
+ },
226
+ ],
227
+ },
228
+ {
229
+ id: '0xbb83ba331c3254c8c44645430126797dceda89c0',
230
+ type: 'WEIGHTED',
231
+ poolTokens: [
232
+ {
233
+ address: '0x7b79995e5f793a07bc00c21412e50ecae098e7f9',
234
+ weight: '0.5',
235
+ isErc4626: false,
236
+ underlyingToken: null,
237
+ },
238
+ {
239
+ address: '0x8a88124522dbbf1e56352ba3de1d9f78c143751e',
240
+ weight: '0.5',
241
+ isErc4626: true,
242
+ underlyingToken: {
243
+ address: '0x94a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8',
244
+ },
245
+ },
246
+ ],
247
+ },
248
+ {
249
+ id: '0xbfa3d29909e92ab04b631d114c78b5257aba53db',
250
+ type: 'WEIGHTED',
251
+ poolTokens: [
252
+ {
253
+ address: '0x6bf294b80c7d8dc72dee762af5d01260b756a051',
254
+ weight: '0.99',
255
+ isErc4626: false,
256
+ underlyingToken: null,
257
+ },
258
+ {
259
+ address: '0x80d6d3946ed8a1da4e226aa21ccddc32bd127d1a',
260
+ weight: '0.01',
261
+ isErc4626: false,
262
+ underlyingToken: null,
263
+ },
264
+ ],
265
+ },
266
+ {
267
+ id: '0xc9233cc69435591b193b50f702ac31e404a08b10',
268
+ type: 'WEIGHTED',
269
+ poolTokens: [
270
+ {
271
+ address: '0x7b79995e5f793a07bc00c21412e50ecae098e7f9',
272
+ weight: '0.5',
273
+ isErc4626: false,
274
+ underlyingToken: null,
275
+ },
276
+ {
277
+ address: '0x946e59e9637f44eb122fe64b372aaf6ed0441da1',
278
+ weight: '0.5',
279
+ isErc4626: false,
280
+ underlyingToken: null,
281
+ },
282
+ ],
283
+ },
284
+ {
285
+ id: '0xce7601b157e0871332d2295f274a0f4314a1585d',
286
+ type: 'STABLE',
287
+ poolTokens: [
288
+ {
289
+ address: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',
290
+ weight: null,
291
+ isErc4626: false,
292
+ underlyingToken: null,
293
+ },
294
+ {
295
+ address: '0xde46e43f46ff74a23a65ebb0580cbe3dfe684a17',
296
+ weight: null,
297
+ isErc4626: true,
298
+ underlyingToken: {
299
+ address: '0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357',
300
+ },
301
+ },
302
+ ],
303
+ },
304
+ {
305
+ id: '0xd320b050444aa50f24e6666e22a503f765e74263',
306
+ type: 'STABLE',
307
+ poolTokens: [
308
+ {
309
+ address: '0x6bf294b80c7d8dc72dee762af5d01260b756a051',
310
+ weight: null,
311
+ isErc4626: false,
312
+ underlyingToken: null,
313
+ },
314
+ {
315
+ address: '0xb77eb1a70a96fdaaeb31db1b42f2b8b5846b2613',
316
+ weight: null,
317
+ isErc4626: false,
318
+ underlyingToken: null,
319
+ },
320
+ ],
321
+ },
322
+ {
323
+ id: '0xd63db0b88dca565633fb8d70a70b9b8093d34a7e',
324
+ type: 'STABLE',
325
+ poolTokens: [
326
+ {
327
+ address: '0x8a88124522dbbf1e56352ba3de1d9f78c143751e',
328
+ weight: null,
329
+ isErc4626: true,
330
+ underlyingToken: {
331
+ address: '0x94a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8',
332
+ },
333
+ },
334
+ {
335
+ address: '0x978206fae13faf5a8d293fb614326b237684b750',
336
+ weight: null,
337
+ isErc4626: true,
338
+ underlyingToken: {
339
+ address: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',
340
+ },
341
+ },
342
+ ],
343
+ },
344
+ {
345
+ id: '0xdfc3ab57a32828da8074f34e702635fc58d64d06',
346
+ type: 'WEIGHTED',
347
+ poolTokens: [
348
+ {
349
+ address: '0x978206fae13faf5a8d293fb614326b237684b750',
350
+ weight: '0.5',
351
+ isErc4626: true,
352
+ underlyingToken: {
353
+ address: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',
354
+ },
355
+ },
356
+ {
357
+ address: '0xde46e43f46ff74a23a65ebb0580cbe3dfe684a17',
358
+ weight: '0.5',
359
+ isErc4626: true,
360
+ underlyingToken: {
361
+ address: '0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357',
362
+ },
363
+ },
364
+ ],
365
+ },
366
+ {
367
+ id: '0xe69b70a86a4e1fd33da95693a1ae12be1c26c8ea',
368
+ type: 'WEIGHTED',
369
+ poolTokens: [
370
+ {
371
+ address: '0xb19382073c7a0addbb56ac6af1808fa49e377b75',
372
+ weight: '0.5',
373
+ isErc4626: false,
374
+ underlyingToken: null,
375
+ },
376
+ {
377
+ address: '0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357',
378
+ weight: '0.5',
379
+ isErc4626: false,
380
+ underlyingToken: null,
381
+ },
382
+ ],
383
+ },
384
+ {
385
+ id: '0xf5a25990da505a9d4c3e0d876f3951e9edf9abc3',
386
+ type: 'WEIGHTED',
387
+ poolTokens: [
388
+ {
389
+ address: '0x7b79995e5f793a07bc00c21412e50ecae098e7f9',
390
+ weight: '0.5',
391
+ isErc4626: false,
392
+ underlyingToken: null,
393
+ },
394
+ {
395
+ address: '0x978206fae13faf5a8d293fb614326b237684b750',
396
+ weight: '0.5',
397
+ isErc4626: true,
398
+ underlyingToken: {
399
+ address: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',
400
+ },
401
+ },
402
+ ],
403
+ },
404
+ ];
405
+ exports.default = pools;
406
+ //# sourceMappingURL=balancer-v3-sepolia-pools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balancer-v3-sepolia-pools.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/balancer-v3-sepolia-pools.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,7 @@ var SUPPORTED_POOLS;
10
10
  })(SUPPORTED_POOLS || (exports.SUPPORTED_POOLS = SUPPORTED_POOLS = {}));
11
11
  exports.disabledPoolIds = {
12
12
  BalancerV3: {
13
- [constants_1.Network.GNOSIS]: [
14
- // pools with rate provider that returns nested rate instead of wrap/unwrap rate
15
- '0x6e6bb18449fcf15b79efa2cfa70acf7593088029',
16
- '0x272d6be442e30d7c87390edeb9b96f1e84cecd8d',
17
- ],
13
+ [constants_1.Network.GNOSIS]: [],
18
14
  },
19
15
  };
20
16
  // Balancer API - aggregatorSpecific query serves all useful static pool data
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEpD,sFAAsF;AACtF,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAEY,QAAA,eAAe,GAA6C;IACvE,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,gFAAgF;YAChF,4CAA4C;YAC5C,4CAA4C;SAC7C;KACF;CACF,CAAC;AAEF,6EAA6E;AAChE,QAAA,MAAM,GAAG,kCAAkC,CAAC;AAEzD,0CAA0C;AAC7B,QAAA,gBAAgB,GAA4B;IACvD,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,SAAS;YACzB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;SACzE;QACD,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,QAAQ;YACxB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;SACzE;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,SAAS;YACzB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;SACzE;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEpD,sFAAsF;AACtF,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,wCAAqB,CAAA;IACrB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAEY,QAAA,eAAe,GAA6C;IACvE,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE,EAAE;KACrB;CACF,CAAC;AAEF,6EAA6E;AAChE,QAAA,MAAM,GAAG,kCAAkC,CAAC;AAEzD,0CAA0C;AAC7B,QAAA,gBAAgB,GAA4B;IACvD,UAAU,EAAE;QACV,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,SAAS;YACzB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;SACzE;QACD,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,QAAQ;YACxB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;SACzE;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,YAAY,EAAE,4CAA4C;YAC1D,cAAc,EAAE,SAAS;YACzB,qBAAqB,EAAE,4CAA4C;YACnE,0BAA0B,EAAE,4CAA4C;SACzE;KACF;CACF,CAAC"}
@@ -1,10 +1,19 @@
1
1
  import { ImmutablePoolStateMap, PoolStateMap } from './types';
2
2
  import { Interface, Result } from '@ethersproject/abi';
3
3
  import { IDexHelper } from '../../dex-helper';
4
+ interface callData {
5
+ target: string;
6
+ callData: string;
7
+ }
4
8
  export declare function decodeThrowError(contractInterface: Interface, functionName: string, resultEntry: {
5
9
  success: boolean;
6
10
  returnData: any;
7
11
  }, poolAddress: string): Result;
12
+ export declare function getErc4626MultiCallData(erc4626Interface: Interface, immutablePoolStateMap: ImmutablePoolStateMap): callData[];
13
+ export declare function decodeErc4626MultiCallData(erc4626Interface: Interface, erc4626MultiCallData: callData[], dataResultErc4626: any[]): {
14
+ [k: string]: bigint;
15
+ };
8
16
  export declare function getOnChainState(network: number, immutablePoolStateMap: ImmutablePoolStateMap, dexHelper: IDexHelper, interfaces: {
9
17
  [name: string]: Interface;
10
18
  }, blockNumber?: number): Promise<PoolStateMap>;
19
+ export {};
@@ -4,9 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.decodeThrowError = decodeThrowError;
7
+ exports.getErc4626MultiCallData = getErc4626MultiCallData;
8
+ exports.decodeErc4626MultiCallData = decodeErc4626MultiCallData;
7
9
  exports.getOnChainState = getOnChainState;
8
10
  const lodash_1 = __importDefault(require("lodash"));
9
11
  const config_1 = require("./config");
12
+ const balancer_v3_pool_1 = require("./balancer-v3-pool");
10
13
  // Encoding & Decoding for onchain calls to fetch mutable pool data
11
14
  // Each supported pool type should have its own specific calls if needed
12
15
  const poolOnChain = {
@@ -128,9 +131,31 @@ function decodeThrowError(contractInterface, functionName, resultEntry, poolAddr
128
131
  throw new Error(`Failed to execute ${functionName} for ${poolAddress}`);
129
132
  return contractInterface.decodeFunctionResult(functionName, resultEntry.returnData);
130
133
  }
134
+ function getErc4626MultiCallData(erc4626Interface, immutablePoolStateMap) {
135
+ // We want to query rate for each unique ERC4626 token
136
+ const uniqueErc4626Tokens = Array.from(new Set(Object.values(immutablePoolStateMap).flatMap(pool => pool.tokens.filter((_, index) => pool.tokensUnderlying[index] !== null))));
137
+ // query result for 1e18 (this maintains correct scaling for different token decimals in maths)
138
+ const erc4626MultiCallData = uniqueErc4626Tokens.map(token => {
139
+ return {
140
+ target: token,
141
+ callData: erc4626Interface.encodeFunctionData('convertToAssets', [balancer_v3_pool_1.WAD]),
142
+ };
143
+ });
144
+ return erc4626MultiCallData;
145
+ }
146
+ function decodeErc4626MultiCallData(erc4626Interface, erc4626MultiCallData, dataResultErc4626) {
147
+ return Object.fromEntries(erc4626MultiCallData.map((multiCallData, i) => {
148
+ const rate = decodeThrowError(erc4626Interface, 'convertToAssets', dataResultErc4626[i], multiCallData.target);
149
+ if (!rate)
150
+ throw new Error(`Failed to get result for convertToAssets for ${multiCallData.target}`);
151
+ return [multiCallData.target, BigInt(rate[0])];
152
+ }));
153
+ }
131
154
  // Any data from API will be immutable. Mutable data such as balances, etc will be fetched via onchain/event state.
132
155
  async function getOnChainState(network, immutablePoolStateMap, dexHelper, interfaces, blockNumber) {
133
- const multiCallData = Object.entries(immutablePoolStateMap)
156
+ const erc4626MultiCallData = getErc4626MultiCallData(interfaces['ERC4626'], immutablePoolStateMap);
157
+ // query pool specific onchain data, e.g. totalSupply, etc
158
+ const poolsMultiCallData = Object.entries(immutablePoolStateMap)
134
159
  .map(([address, pool]) => {
135
160
  return [
136
161
  ...poolOnChain['COMMON'].encode(network, interfaces['VAULT'], address),
@@ -139,15 +164,18 @@ async function getOnChainState(network, immutablePoolStateMap, dexHelper, interf
139
164
  })
140
165
  .flat();
141
166
  // 500 is an arbitrary number chosen based on the blockGasLimit
142
- const slicedMultiCallData = lodash_1.default.chunk(multiCallData, 500);
143
- const multicallData = (await Promise.all(slicedMultiCallData.map(async (_multiCallData) => dexHelper.multiContract.methods
167
+ const slicedMultiCallData = lodash_1.default.chunk([...erc4626MultiCallData, ...poolsMultiCallData], 500);
168
+ const multicallDataResult = (await Promise.all(slicedMultiCallData.map(async (_multiCallData) => dexHelper.multiContract.methods
144
169
  .tryAggregate(false, _multiCallData)
145
170
  .call({}, blockNumber)))).flat();
171
+ const dataResultErc4626 = multicallDataResult.slice(0, erc4626MultiCallData.length);
172
+ const dataResultPools = multicallDataResult.slice(erc4626MultiCallData.length);
173
+ const tokensWithRates = decodeErc4626MultiCallData(interfaces['ERC4626'], erc4626MultiCallData, dataResultErc4626);
146
174
  let i = 0;
147
175
  const poolStateMap = Object.fromEntries(Object.entries(immutablePoolStateMap).map(([address, pool]) => {
148
- const commonMutableData = poolOnChain['COMMON'].decode(interfaces['VAULT'], address, multicallData, i);
176
+ const commonMutableData = poolOnChain['COMMON'].decode(interfaces['VAULT'], address, dataResultPools, i);
149
177
  i = i + poolOnChain['COMMON'].count;
150
- const poolMutableData = poolOnChain[pool.poolType].decode(interfaces[pool.poolType], address, multicallData, i);
178
+ const poolMutableData = poolOnChain[pool.poolType].decode(interfaces[pool.poolType], address, dataResultPools, i);
151
179
  i = i + poolOnChain[pool.poolType].count;
152
180
  return [
153
181
  address,
@@ -155,6 +183,11 @@ async function getOnChainState(network, immutablePoolStateMap, dexHelper, interf
155
183
  ...pool,
156
184
  ...commonMutableData,
157
185
  ...poolMutableData,
186
+ erc4626Rates: pool.tokens.map(t => {
187
+ if (!tokensWithRates[t])
188
+ return null;
189
+ return tokensWithRates[t];
190
+ }),
158
191
  },
159
192
  ];
160
193
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"getOnChainState.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/getOnChainState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getOnChainState.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/getOnChainState.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export type CommonImmutablePoolState = {
10
10
  };
11
11
  export interface CommonMutableState {
12
12
  tokenRates: bigint[];
13
+ erc4626Rates: (bigint | null)[];
13
14
  balancesLiveScaled18: bigint[];
14
15
  swapFee: bigint;
15
16
  aggregateSwapFee: bigint;
@@ -0,0 +1,4 @@
1
+ import { DexParams, PricePoolParams } from './types';
2
+ import { DexConfigMap } from '../../types';
3
+ export declare const InceptionConfig: DexConfigMap<DexParams[]>;
4
+ export declare const InceptionPricePoolConfig: DexConfigMap<PricePoolParams>;