@paraswap/dex-lib 3.4.2-balancer-v2-single-swap.0 → 3.4.2

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 (110) hide show
  1. package/README.md +377 -377
  2. package/build/config.js +9 -5
  3. package/build/config.js.map +1 -1
  4. package/build/dex/algebra/algebra.js +25 -25
  5. package/build/dex/balancer-v1/balancer-v1.js +34 -34
  6. package/build/dex/balancer-v2/balancer-v2.d.ts +1 -1
  7. package/build/dex/balancer-v2/balancer-v2.js +65 -78
  8. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  9. package/build/dex/camelot/camelot.js +27 -27
  10. package/build/dex/kyberdmm/kyberdmm.js +27 -27
  11. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +25 -25
  12. package/build/dex/solidly/solidly.js +27 -27
  13. package/build/dex/solidly-v3/solidly-v3.js +25 -25
  14. package/build/dex/swaap-v2/config.js +15 -0
  15. package/build/dex/swaap-v2/config.js.map +1 -1
  16. package/build/dex/uniswap-v2/uniswap-v2.js +26 -26
  17. package/build/dex/uniswap-v3/uniswap-v3.js +25 -25
  18. package/funding.json +5 -5
  19. package/package.json +1 -1
  20. package/src/config.ts +500 -496
  21. package/src/constants.ts +67 -67
  22. package/src/dex/aave-v2/aave-v2.ts +409 -409
  23. package/src/dex/aave-v3/aave-v3.ts +320 -320
  24. package/src/dex/algebra/algebra.ts +1180 -1180
  25. package/src/dex/angle-staked-stable/angle-staked-stable.ts +347 -347
  26. package/src/dex/augustus-rfq.ts +180 -180
  27. package/src/dex/bProtocol/bProtocol.ts +108 -108
  28. package/src/dex/balancer-v1/balancer-v1.ts +572 -572
  29. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +1699 -1699
  30. package/src/dex/balancer-v2/balancer-v2.ts +1669 -1701
  31. package/src/dex/bancor/bancor.ts +128 -128
  32. package/src/dex/camelot/camelot.ts +873 -873
  33. package/src/dex/compound/compound.ts +107 -107
  34. package/src/dex/curve-v1/config.ts +1179 -1179
  35. package/src/dex/curve-v1/curve-v1-e2e.test.ts +507 -507
  36. package/src/dex/curve-v1/curve-v1.ts +1315 -1315
  37. package/src/dex/curve-v1-factory/config.ts +1018 -1018
  38. package/src/dex/curve-v1-factory/curve-v1-factory.ts +1288 -1288
  39. package/src/dex/curve-v2/curve-v2.ts +440 -440
  40. package/src/dex/dexalot/dexalot.ts +1100 -1100
  41. package/src/dex/dodo-v1/dodo-v1.ts +132 -132
  42. package/src/dex/dodo-v2.ts +266 -266
  43. package/src/dex/etherfi.ts +239 -239
  44. package/src/dex/generic-rfq/generic-rfq.ts +431 -431
  45. package/src/dex/gmx/gmx.ts +321 -321
  46. package/src/dex/hashflow/hashflow.ts +1135 -1135
  47. package/src/dex/idex.ts +254 -254
  48. package/src/dex/index.ts +357 -357
  49. package/src/dex/jarvis-v6/jarvis-v6.ts +509 -509
  50. package/src/dex/jarvis.ts +262 -262
  51. package/src/dex/kyberdmm/kyberdmm.ts +649 -649
  52. package/src/dex/lido/lido.ts +110 -110
  53. package/src/dex/maker-psm/maker-psm.ts +592 -592
  54. package/src/dex/maverick-v1/maverick-v1.ts +537 -537
  55. package/src/dex/nerve/config.ts +635 -635
  56. package/src/dex/nerve/nerve-e2e.test.ts +731 -731
  57. package/src/dex/nerve/nerve-events.test.ts +911 -911
  58. package/src/dex/nerve/nerve.ts +467 -467
  59. package/src/dex/onebit/onebit.ts +113 -113
  60. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +1150 -1150
  61. package/src/dex/paraswap-limit-orders/config.ts +60 -60
  62. package/src/dex/paraswap-limit-orders/paraswap-limit-orders-e2e.test.ts +137 -137
  63. package/src/dex/paraswap-limit-orders/paraswap-limit-orders-integration.test.ts +328 -328
  64. package/src/dex/paraswap-limit-orders/paraswap-limit-orders.ts +631 -631
  65. package/src/dex/polygon-migrator/polygon-migrator.ts +194 -194
  66. package/src/dex/quick-perps/quick-perps.ts +337 -337
  67. package/src/dex/quickswap/config.ts +16 -16
  68. package/src/dex/quickswap/quickswap-e2e.test.ts +384 -384
  69. package/src/dex/smoothy/smoothy.ts +110 -110
  70. package/src/dex/solidly/config.ts +225 -225
  71. package/src/dex/solidly/solidly-e2e.test.ts +1421 -1421
  72. package/src/dex/solidly/solidly-integration.test.ts +1753 -1753
  73. package/src/dex/solidly/solidly.ts +687 -687
  74. package/src/dex/solidly-v3/solidly-v3.ts +968 -968
  75. package/src/dex/spark/spark.ts +284 -284
  76. package/src/dex/stable-pool/stable-pool.ts +129 -129
  77. package/src/dex/swaap-v2/config.ts +15 -0
  78. package/src/dex/swaap-v2/swaap-v2-e2e.test.ts +233 -17
  79. package/src/dex/swaap-v2/swaap-v2-integration.test.ts +1 -1
  80. package/src/dex/swaap-v2/swaap-v2.ts +1056 -1056
  81. package/src/dex/swell/swell.ts +312 -312
  82. package/src/dex/synthetix/synthetix.ts +420 -420
  83. package/src/dex/trader-joe-v2.1/trader-joe-v2.1.ts +180 -180
  84. package/src/dex/uniswap-v2/config.ts +637 -637
  85. package/src/dex/uniswap-v2/constants.ts +58 -58
  86. package/src/dex/uniswap-v2/uniswap-v2-e2e-avalanche.test.ts +1257 -1257
  87. package/src/dex/uniswap-v2/uniswap-v2-e2e-base.test.ts +42 -42
  88. package/src/dex/uniswap-v2/uniswap-v2-e2e-bsc.test.ts +1295 -1295
  89. package/src/dex/uniswap-v2/uniswap-v2-e2e-mainnet.test.ts +1834 -1834
  90. package/src/dex/uniswap-v2/uniswap-v2-e2e-polygon.test.ts +871 -871
  91. package/src/dex/uniswap-v2/uniswap-v2.ts +1117 -1117
  92. package/src/dex/uniswap-v3/uniswap-v3.ts +1501 -1501
  93. package/src/dex/uniswap-v3.ts +242 -242
  94. package/src/dex/weth/config.ts +73 -73
  95. package/src/dex/weth/weth.ts +230 -230
  96. package/src/dex/wombat/wombat.ts +467 -467
  97. package/src/dex/woo-fi-v2/woo-fi-v2.ts +529 -529
  98. package/src/dex/wsteth/wsteth.ts +304 -304
  99. package/src/dex/zerox/index.ts +328 -328
  100. package/src/executor/Executor01BytecodeBuilder.ts +474 -474
  101. package/src/executor/Executor02BytecodeBuilder.ts +1392 -1392
  102. package/src/executor/ExecutorBytecodeBuilder.ts +390 -390
  103. package/src/executor/ExecutorDetector.ts +131 -131
  104. package/src/executor/constants.ts +66 -66
  105. package/src/executor/executor01-bytecode-builder-e2e.test.ts +1478 -1478
  106. package/src/executor/utils.ts +62 -62
  107. package/src/router/simpleswap.ts +366 -366
  108. package/src/types.ts +342 -342
  109. package/tests/constants-e2e.ts +1632 -1622
  110. package/tests/generate-new-limit-order.ts +107 -107
@@ -1,911 +1,911 @@
1
- import dotenv from 'dotenv';
2
- dotenv.config();
3
- import _ from 'lodash';
4
- import { NerveEventPool } from './nerve-pool';
5
- import { Network } from '../../constants';
6
- import { DummyDexHelper } from '../../dex-helper/index';
7
- import { testEventSubscriber } from '../../../tests/utils-events';
8
- import { PoolState } from './types';
9
- import { typeCastPoolState } from './utils';
10
- import { Nerve } from './nerve';
11
- import { threePoolName } from './config';
12
-
13
- jest.setTimeout(50 * 1000);
14
-
15
- async function fetchPoolState(
16
- nervePool: NerveEventPool,
17
- blockNumber: number,
18
- ): Promise<PoolState> {
19
- // It generates data from onchain data
20
- return typeCastPoolState(
21
- _.cloneDeep(await nervePool.generateState(blockNumber)),
22
- );
23
- }
24
-
25
- describe('Nerve Event Pool BSC', async () => {
26
- const dexKey = 'Nerve';
27
- const poolName = threePoolName;
28
- const network = Network.BSC;
29
- const testPoolAddress = '0x1B3771a66ee31180906972580adE9b81AFc5fCDc'; // 3Pool
30
- const dexHelper = new DummyDexHelper(network);
31
- const logger = dexHelper.getLogger(dexKey);
32
- let nervePool: NerveEventPool;
33
-
34
- beforeEach(async () => {
35
- nervePool = new NerveEventPool(
36
- dexKey,
37
- network,
38
- dexHelper,
39
- logger,
40
- poolName,
41
- );
42
- });
43
-
44
- // TokenSwap -> 0xc6c1e0630dbe9130cc068028486c0d118ddcea348550819defd5cb8c257f8a38
45
- describe('TokenSwap', () => {
46
- it(`State after 16847285`, async () => {
47
- const blockNumber = 16847285;
48
- await testEventSubscriber(
49
- nervePool,
50
- nervePool.addressesSubscribed,
51
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
52
- blockNumber,
53
- Nerve.getIdentifier(dexKey, testPoolAddress),
54
- dexHelper.provider,
55
- );
56
- });
57
- it(`State after 16847392`, async () => {
58
- const blockNumber = 16847392;
59
- await testEventSubscriber(
60
- nervePool,
61
- nervePool.addressesSubscribed,
62
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
63
- blockNumber,
64
- Nerve.getIdentifier(dexKey, testPoolAddress),
65
- dexHelper.provider,
66
- );
67
- });
68
- it(`State after 16847496`, async () => {
69
- const blockNumber = 16847496;
70
- await testEventSubscriber(
71
- nervePool,
72
- nervePool.addressesSubscribed,
73
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
74
- blockNumber,
75
- Nerve.getIdentifier(dexKey, testPoolAddress),
76
- dexHelper.provider,
77
- );
78
- });
79
- it(`State after 16853100`, async () => {
80
- const blockNumber = 16853100;
81
- await testEventSubscriber(
82
- nervePool,
83
- nervePool.addressesSubscribed,
84
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
85
- blockNumber,
86
- Nerve.getIdentifier(dexKey, testPoolAddress),
87
- dexHelper.provider,
88
- );
89
- });
90
- it(`State after 16852788`, async () => {
91
- const blockNumber = 16852788;
92
- await testEventSubscriber(
93
- nervePool,
94
- nervePool.addressesSubscribed,
95
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
96
- blockNumber,
97
- Nerve.getIdentifier(dexKey, testPoolAddress),
98
- dexHelper.provider,
99
- );
100
- });
101
- });
102
-
103
- // AddLiquidity -> 0x189c623b666b1b45b83d7178f39b8c087cb09774317ca2f53c2d3c3726f222a2
104
- describe('AddLiquidity', () => {
105
- it(`State after 16714695`, async () => {
106
- const blockNumber = 16714695;
107
- await testEventSubscriber(
108
- nervePool,
109
- nervePool.addressesSubscribed,
110
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
111
- blockNumber,
112
- Nerve.getIdentifier(dexKey, testPoolAddress),
113
- dexHelper.provider,
114
- );
115
- });
116
- it(`State after 16714525`, async () => {
117
- const blockNumber = 16714525;
118
- await testEventSubscriber(
119
- nervePool,
120
- nervePool.addressesSubscribed,
121
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
122
- blockNumber,
123
- Nerve.getIdentifier(dexKey, testPoolAddress),
124
- dexHelper.provider,
125
- );
126
- });
127
- it(`State after 16630557`, async () => {
128
- const blockNumber = 16630557;
129
- await testEventSubscriber(
130
- nervePool,
131
- nervePool.addressesSubscribed,
132
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
133
- blockNumber,
134
- Nerve.getIdentifier(dexKey, testPoolAddress),
135
- dexHelper.provider,
136
- );
137
- });
138
- it(`State after 16222709`, async () => {
139
- const blockNumber = 16222709;
140
- await testEventSubscriber(
141
- nervePool,
142
- nervePool.addressesSubscribed,
143
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
144
- blockNumber,
145
- Nerve.getIdentifier(dexKey, testPoolAddress),
146
- dexHelper.provider,
147
- );
148
- });
149
- it(`State after 16116914`, async () => {
150
- const blockNumber = 16116914;
151
- await testEventSubscriber(
152
- nervePool,
153
- nervePool.addressesSubscribed,
154
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
155
- blockNumber,
156
- Nerve.getIdentifier(dexKey, testPoolAddress),
157
- dexHelper.provider,
158
- );
159
- });
160
- });
161
-
162
- // RemoveLiquidity -> 0x88d38ed598fdd809c2bf01ee49cd24b7fdabf379a83d29567952b60324d58cef
163
- describe('RemoveLiquidity', () => {
164
- it(`State after 16379090`, async () => {
165
- const blockNumber = 16379090;
166
- await testEventSubscriber(
167
- nervePool,
168
- nervePool.addressesSubscribed,
169
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
170
- blockNumber,
171
- Nerve.getIdentifier(dexKey, testPoolAddress),
172
- dexHelper.provider,
173
- );
174
- });
175
- it(`State after 16281403`, async () => {
176
- const blockNumber = 16281403;
177
- await testEventSubscriber(
178
- nervePool,
179
- nervePool.addressesSubscribed,
180
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
181
- blockNumber,
182
- Nerve.getIdentifier(dexKey, testPoolAddress),
183
- dexHelper.provider,
184
- );
185
- });
186
- it(`State after 16277100`, async () => {
187
- const blockNumber = 16277100;
188
- await testEventSubscriber(
189
- nervePool,
190
- nervePool.addressesSubscribed,
191
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
192
- blockNumber,
193
- Nerve.getIdentifier(dexKey, testPoolAddress),
194
- dexHelper.provider,
195
- );
196
- });
197
- it(`State after 16117267`, async () => {
198
- const blockNumber = 16117267;
199
- await testEventSubscriber(
200
- nervePool,
201
- nervePool.addressesSubscribed,
202
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
203
- blockNumber,
204
- Nerve.getIdentifier(dexKey, testPoolAddress),
205
- dexHelper.provider,
206
- );
207
- });
208
- it(`State after 15929026`, async () => {
209
- const blockNumber = 15929026;
210
- await testEventSubscriber(
211
- nervePool,
212
- nervePool.addressesSubscribed,
213
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
214
- blockNumber,
215
- Nerve.getIdentifier(dexKey, testPoolAddress),
216
- dexHelper.provider,
217
- );
218
- });
219
- });
220
-
221
- // RemoveLiquidityImbalance -> 0x3631c28b1f9dd213e0319fb167b554d76b6c283a41143eb400a0d1adb1af1755
222
- describe('RemoveLiquidityImbalance', () => {
223
- it(`State after 15639364`, async () => {
224
- const blockNumber = 15639364;
225
- await testEventSubscriber(
226
- nervePool,
227
- nervePool.addressesSubscribed,
228
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
229
- blockNumber,
230
- Nerve.getIdentifier(dexKey, testPoolAddress),
231
- dexHelper.provider,
232
- );
233
- });
234
- it(`State after 12543503`, async () => {
235
- const blockNumber = 12543503;
236
- await testEventSubscriber(
237
- nervePool,
238
- nervePool.addressesSubscribed,
239
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
240
- blockNumber,
241
- Nerve.getIdentifier(dexKey, testPoolAddress),
242
- dexHelper.provider,
243
- );
244
- });
245
- it(`State after 11298608`, async () => {
246
- const blockNumber = 11298608;
247
- await testEventSubscriber(
248
- nervePool,
249
- nervePool.addressesSubscribed,
250
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
251
- blockNumber,
252
- Nerve.getIdentifier(dexKey, testPoolAddress),
253
- dexHelper.provider,
254
- );
255
- });
256
- it(`State after 11298568`, async () => {
257
- const blockNumber = 11298568;
258
- await testEventSubscriber(
259
- nervePool,
260
- nervePool.addressesSubscribed,
261
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
262
- blockNumber,
263
- Nerve.getIdentifier(dexKey, testPoolAddress),
264
- dexHelper.provider,
265
- );
266
- });
267
- it(`State after 10691460`, async () => {
268
- const blockNumber = 10691460;
269
- await testEventSubscriber(
270
- nervePool,
271
- nervePool.addressesSubscribed,
272
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
273
- blockNumber,
274
- Nerve.getIdentifier(dexKey, testPoolAddress),
275
- dexHelper.provider,
276
- );
277
- });
278
- });
279
-
280
- // NewAdminFee -> 0xab599d640ca80cde2b09b128a4154a8dfe608cb80f4c9399c8b954b01fd35f38
281
- // Tests are turned off because blocks are too old and I don't receive results from RPC
282
- // describe('NewAdminFee', () => {
283
- // it(`State after 7287599`, async () => {
284
- // const blockNumber = 7287599;
285
- // await testEventSubscriber(
286
- // nervePool,
287
- // nervePool.addressesSubscribed,
288
- // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
289
- // blockNumber,
290
- // Nerve.getIdentifier(dexKey, testPoolAddress),
291
- // dexHelper.provider,
292
- // );
293
- // });
294
- // });
295
-
296
- // NewSwapFee -> 0xd88ea5155021c6f8dafa1a741e173f595cdf77ce7c17d43342131d7f06afdfe5
297
- // Tests are turned off because blocks are too old and I don't receive results from RPC
298
- // describe('NewSwapFee', () => {
299
- // it(`State after 7386449`, async () => {
300
- // const blockNumber = 7386449;
301
- // await testEventSubscriber(
302
- // nervePool,
303
- // nervePool.addressesSubscribed,
304
- // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
305
- // blockNumber,
306
- // Nerve.getIdentifier(dexKey, testPoolAddress),
307
- // dexHelper.provider,
308
- // );
309
- // });
310
- // it(`State after 6086293`, async () => {
311
- // const blockNumber = 6086293;
312
- // await testEventSubscriber(
313
- // nervePool,
314
- // nervePool.addressesSubscribed,
315
- // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
316
- // blockNumber,
317
- // Nerve.getIdentifier(dexKey, testPoolAddress),
318
- // dexHelper.provider,
319
- // );
320
- // });
321
- // });
322
-
323
- // NewDepositFee -> 0x5237b692334926d9ab50f9d1ac513fe7e153f0cd81dd7c55a09d281d2985d808
324
- // Tests are turned off because blocks are too old and I don't receive results from RPC
325
- // describe('NewDepositFee', () => {
326
- // it(`State after 7035445`, async () => {
327
- // const blockNumber = 7035445;
328
- // await testEventSubscriber(
329
- // nervePool,
330
- // nervePool.addressesSubscribed,
331
- // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
332
- // blockNumber,
333
- // Nerve.getIdentifier(dexKey, testPoolAddress),
334
- // dexHelper.provider,
335
- // );
336
- // });
337
- // it(`State after 6086217`, async () => {
338
- // const blockNumber = 6086217;
339
- // await testEventSubscriber(
340
- // nervePool,
341
- // nervePool.addressesSubscribed,
342
- // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
343
- // blockNumber,
344
- // Nerve.getIdentifier(dexKey, testPoolAddress),
345
- // dexHelper.provider,
346
- // );
347
- // });
348
- // it(`State after 5654596`, async () => {
349
- // const blockNumber = 5654596;
350
- // await testEventSubscriber(
351
- // nervePool,
352
- // nervePool.addressesSubscribed,
353
- // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
354
- // blockNumber,
355
- // Nerve.getIdentifier(dexKey, testPoolAddress),
356
- // dexHelper.provider,
357
- // );
358
- // });
359
- // it(`State after 5453031`, async () => {
360
- // const blockNumber = 5453031;
361
- // await testEventSubscriber(
362
- // nervePool,
363
- // nervePool.addressesSubscribed,
364
- // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
365
- // blockNumber,
366
- // Nerve.getIdentifier(dexKey, testPoolAddress),
367
- // dexHelper.provider,
368
- // );
369
- // });
370
- // });
371
-
372
- // RampA -> 0xa2b71ec6df949300b59aab36b55e189697b750119dd349fcfa8c0f779e83c254
373
- // Tests are turned off because blocks are too old and I don't receive results from RPC
374
- // describe('RampA', () => {
375
- // it(`State after 7385654`, async () => {
376
- // const blockNumber = 7385654;
377
- // await testEventSubscriber(
378
- // nervePool,
379
- // nervePool.addressesSubscribed,
380
- // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
381
- // blockNumber,
382
- // Nerve.getIdentifier(dexKey, testPoolAddress),
383
- // dexHelper.provider,
384
- // );
385
- // });
386
- // it(`State after 5914844`, async () => {
387
- // const blockNumber = 5914844;
388
- // await testEventSubscriber(
389
- // nervePool,
390
- // nervePool.addressesSubscribed,
391
- // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
392
- // blockNumber,
393
- // Nerve.getIdentifier(dexKey, testPoolAddress),
394
- // dexHelper.provider,
395
- // );
396
- // });
397
- // });
398
-
399
- // RemoveLiquidityOne -> 0x43fb02998f4e03da2e0e6fff53fdbf0c40a9f45f145dc377fc30615d7d7a8a64
400
- // We do not support RemoveLiquidityOne as it requires onchain call of exact values
401
-
402
- // NewWithdrawFee -> 0xd5fe46099fa396290a7f57e36c3c3c8774e2562c18ed5d1dcc0fa75071e03f1d
403
- // No events for NewWithdrawFee
404
-
405
- // StopRampA -> 0x46e22fb3709ad289f62ce63d469248536dbc78d82b84a3d7e74ad606dc201938
406
- // No events for StopRampA
407
- });
408
-
409
- describe('IronV2 Event Pool Polygon', async () => {
410
- const dexKey = 'IronV2';
411
- const poolName = 'IS3USD_POLYGON';
412
- const network = Network.POLYGON;
413
- const testPoolAddress = '0x837503e8A8753ae17fB8C8151B8e6f586defCb57'; // IS3USD
414
- const dexHelper = new DummyDexHelper(network);
415
- const logger = dexHelper.getLogger(dexKey);
416
- let nervePool: NerveEventPool;
417
-
418
- beforeEach(async () => {
419
- nervePool = new NerveEventPool(
420
- dexKey,
421
- network,
422
- dexHelper,
423
- logger,
424
- poolName,
425
- );
426
- });
427
-
428
- // TokenExchange -> 0xb2e76ae99761dc136e598d4a629bb347eccb9532a5f8bbd72e18467c3c34cc98
429
- describe('TokenExchange', () => {
430
- it(`State after 27019055`, async () => {
431
- const blockNumber = 27019055;
432
- await testEventSubscriber(
433
- nervePool,
434
- nervePool.addressesSubscribed,
435
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
436
- blockNumber,
437
- Nerve.getIdentifier(dexKey, testPoolAddress),
438
- dexHelper.provider,
439
- );
440
- });
441
- it(`State after 27019043`, async () => {
442
- const blockNumber = 27019043;
443
- await testEventSubscriber(
444
- nervePool,
445
- nervePool.addressesSubscribed,
446
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
447
- blockNumber,
448
- Nerve.getIdentifier(dexKey, testPoolAddress),
449
- dexHelper.provider,
450
- );
451
- });
452
- it(`State after 27019042`, async () => {
453
- const blockNumber = 27019042;
454
- await testEventSubscriber(
455
- nervePool,
456
- nervePool.addressesSubscribed,
457
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
458
- blockNumber,
459
- Nerve.getIdentifier(dexKey, testPoolAddress),
460
- dexHelper.provider,
461
- );
462
- });
463
- it(`State after 27018991`, async () => {
464
- const blockNumber = 27018991;
465
- await testEventSubscriber(
466
- nervePool,
467
- nervePool.addressesSubscribed,
468
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
469
- blockNumber,
470
- Nerve.getIdentifier(dexKey, testPoolAddress),
471
- dexHelper.provider,
472
- );
473
- });
474
- it(`State after 27018933`, async () => {
475
- const blockNumber = 27018933;
476
- await testEventSubscriber(
477
- nervePool,
478
- nervePool.addressesSubscribed,
479
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
480
- blockNumber,
481
- Nerve.getIdentifier(dexKey, testPoolAddress),
482
- dexHelper.provider,
483
- );
484
- });
485
- });
486
-
487
- // AddLiquidity -> 0x189c623b666b1b45b83d7178f39b8c087cb09774317ca2f53c2d3c3726f222a2
488
- describe('AddLiquidity', () => {
489
- it(`State after 27019013`, async () => {
490
- const blockNumber = 27019013;
491
- await testEventSubscriber(
492
- nervePool,
493
- nervePool.addressesSubscribed,
494
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
495
- blockNumber,
496
- Nerve.getIdentifier(dexKey, testPoolAddress),
497
- dexHelper.provider,
498
- );
499
- });
500
- it(`State after 27017516`, async () => {
501
- const blockNumber = 27017516;
502
- await testEventSubscriber(
503
- nervePool,
504
- nervePool.addressesSubscribed,
505
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
506
- blockNumber,
507
- Nerve.getIdentifier(dexKey, testPoolAddress),
508
- dexHelper.provider,
509
- );
510
- });
511
- it(`State after 27017515`, async () => {
512
- const blockNumber = 27017515;
513
- await testEventSubscriber(
514
- nervePool,
515
- nervePool.addressesSubscribed,
516
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
517
- blockNumber,
518
- Nerve.getIdentifier(dexKey, testPoolAddress),
519
- dexHelper.provider,
520
- );
521
- });
522
- it(`State after 27017333`, async () => {
523
- const blockNumber = 27017333;
524
- await testEventSubscriber(
525
- nervePool,
526
- nervePool.addressesSubscribed,
527
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
528
- blockNumber,
529
- Nerve.getIdentifier(dexKey, testPoolAddress),
530
- dexHelper.provider,
531
- );
532
- });
533
- it(`State after 27015656`, async () => {
534
- const blockNumber = 27015656;
535
- await testEventSubscriber(
536
- nervePool,
537
- nervePool.addressesSubscribed,
538
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
539
- blockNumber,
540
- Nerve.getIdentifier(dexKey, testPoolAddress),
541
- dexHelper.provider,
542
- );
543
- });
544
- });
545
-
546
- // RemoveLiquidity -> 0x347ad828e58cbe534d8f6b67985d791360756b18f0d95fd9f197a66cc46480ea
547
- describe('RemoveLiquidity', () => {
548
- it(`State after 27009010`, async () => {
549
- const blockNumber = 27009010;
550
- await testEventSubscriber(
551
- nervePool,
552
- nervePool.addressesSubscribed,
553
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
554
- blockNumber,
555
- Nerve.getIdentifier(dexKey, testPoolAddress),
556
- dexHelper.provider,
557
- );
558
- });
559
- it(`State after 26993341`, async () => {
560
- const blockNumber = 26993341;
561
- await testEventSubscriber(
562
- nervePool,
563
- nervePool.addressesSubscribed,
564
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
565
- blockNumber,
566
- Nerve.getIdentifier(dexKey, testPoolAddress),
567
- dexHelper.provider,
568
- );
569
- });
570
- it(`State after 26993296`, async () => {
571
- const blockNumber = 26993296;
572
- await testEventSubscriber(
573
- nervePool,
574
- nervePool.addressesSubscribed,
575
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
576
- blockNumber,
577
- Nerve.getIdentifier(dexKey, testPoolAddress),
578
- dexHelper.provider,
579
- );
580
- });
581
- it(`State after 26973410`, async () => {
582
- const blockNumber = 26973410;
583
- await testEventSubscriber(
584
- nervePool,
585
- nervePool.addressesSubscribed,
586
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
587
- blockNumber,
588
- Nerve.getIdentifier(dexKey, testPoolAddress),
589
- dexHelper.provider,
590
- );
591
- });
592
- it(`State after 26749868`, async () => {
593
- const blockNumber = 26749868;
594
- await testEventSubscriber(
595
- nervePool,
596
- nervePool.addressesSubscribed,
597
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
598
- blockNumber,
599
- Nerve.getIdentifier(dexKey, testPoolAddress),
600
- dexHelper.provider,
601
- );
602
- });
603
- });
604
-
605
- // NewFee -> 0xcfca96e0fef3432146913b2a5a2268a55d3f475fe057e7ffde1082b77693f4f3
606
- describe('NewFee', () => {
607
- it(`State after 17064317`, async () => {
608
- const blockNumber = 17064317;
609
- await testEventSubscriber(
610
- nervePool,
611
- nervePool.addressesSubscribed,
612
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
613
- blockNumber,
614
- Nerve.getIdentifier(dexKey, testPoolAddress),
615
- dexHelper.provider,
616
- );
617
- });
618
- it(`State after 16813530`, async () => {
619
- const blockNumber = 16813530;
620
- await testEventSubscriber(
621
- nervePool,
622
- nervePool.addressesSubscribed,
623
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
624
- blockNumber,
625
- Nerve.getIdentifier(dexKey, testPoolAddress),
626
- dexHelper.provider,
627
- );
628
- });
629
- it(`State after 16632075`, async () => {
630
- const blockNumber = 16632075;
631
- await testEventSubscriber(
632
- nervePool,
633
- nervePool.addressesSubscribed,
634
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
635
- blockNumber,
636
- Nerve.getIdentifier(dexKey, testPoolAddress),
637
- dexHelper.provider,
638
- );
639
- });
640
- });
641
-
642
- // RampA -> 0xa2b71ec6df949300b59aab36b55e189697b750119dd349fcfa8c0f779e83c254
643
- describe('RampA', () => {
644
- it(`State after 17202291`, async () => {
645
- const blockNumber = 17202291;
646
- await testEventSubscriber(
647
- nervePool,
648
- nervePool.addressesSubscribed,
649
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
650
- blockNumber,
651
- Nerve.getIdentifier(dexKey, testPoolAddress),
652
- dexHelper.provider,
653
- );
654
- });
655
- it(`State after 17132310`, async () => {
656
- const blockNumber = 17132310;
657
- await testEventSubscriber(
658
- nervePool,
659
- nervePool.addressesSubscribed,
660
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
661
- blockNumber,
662
- Nerve.getIdentifier(dexKey, testPoolAddress),
663
- dexHelper.provider,
664
- );
665
- });
666
- it(`State after 17062453`, async () => {
667
- const blockNumber = 17062453;
668
- await testEventSubscriber(
669
- nervePool,
670
- nervePool.addressesSubscribed,
671
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
672
- blockNumber,
673
- Nerve.getIdentifier(dexKey, testPoolAddress),
674
- dexHelper.provider,
675
- );
676
- });
677
- it(`State after 16809165`, async () => {
678
- const blockNumber = 16809165;
679
- await testEventSubscriber(
680
- nervePool,
681
- nervePool.addressesSubscribed,
682
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
683
- blockNumber,
684
- Nerve.getIdentifier(dexKey, testPoolAddress),
685
- dexHelper.provider,
686
- );
687
- });
688
- });
689
-
690
- // StopRampA -> 0x46e22fb3709ad289f62ce63d469248536dbc78d82b84a3d7e74ad606dc201938
691
- describe('StopRampA', () => {
692
- it(`State after 17095506`, async () => {
693
- const blockNumber = 17095506;
694
- await testEventSubscriber(
695
- nervePool,
696
- nervePool.addressesSubscribed,
697
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
698
- blockNumber,
699
- Nerve.getIdentifier(dexKey, testPoolAddress),
700
- dexHelper.provider,
701
- );
702
- });
703
- });
704
-
705
- // RemoveLiquidityOne -> 0x5ad056f2e28a8cec232015406b843668c1e36cda598127ec3b8c59b8c72773a0
706
- // We do not support RemoveLiquidityOne as it requires onchain call of exact values
707
-
708
- // RemoveLiquidityImbalance -> 0x3631c28b1f9dd213e0319fb167b554d76b6c283a41143eb400a0d1adb1af1755
709
- // No events for RemoveLiquidityImbalance
710
- });
711
-
712
- describe('Synapse Event Pool Arbitrum', async () => {
713
- const dexKey = 'Synapse';
714
- const network = Network.ARBITRUM;
715
- const poolName = 'nUSDV3';
716
- const testPoolAddress = '0x9Dd329F5411466d9e0C488fF72519CA9fEf0cb40'; // nUSDV3
717
- const dexHelper = new DummyDexHelper(network);
718
- const logger = dexHelper.getLogger(dexKey);
719
- let nervePool: NerveEventPool;
720
-
721
- beforeEach(async () => {
722
- nervePool = new NerveEventPool(
723
- dexKey,
724
- network,
725
- dexHelper,
726
- logger,
727
- poolName,
728
- );
729
- });
730
-
731
- // TokenSwap -> 0xc6c1e0630dbe9130cc068028486c0d118ddcea348550819defd5cb8c257f8a38
732
- describe('TokenSwap', () => {
733
- it(`State after 17256191`, async () => {
734
- const blockNumber = 17256191;
735
- await testEventSubscriber(
736
- nervePool,
737
- nervePool.addressesSubscribed,
738
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
739
- blockNumber,
740
- Nerve.getIdentifier(dexKey, testPoolAddress),
741
- dexHelper.provider,
742
- );
743
- });
744
- it(`State after 17256467`, async () => {
745
- const blockNumber = 17256467;
746
- await testEventSubscriber(
747
- nervePool,
748
- nervePool.addressesSubscribed,
749
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
750
- blockNumber,
751
- Nerve.getIdentifier(dexKey, testPoolAddress),
752
- dexHelper.provider,
753
- );
754
- });
755
- it(`State after 17256191`, async () => {
756
- const blockNumber = 17256191;
757
- await testEventSubscriber(
758
- nervePool,
759
- nervePool.addressesSubscribed,
760
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
761
- blockNumber,
762
- Nerve.getIdentifier(dexKey, testPoolAddress),
763
- dexHelper.provider,
764
- );
765
- });
766
- it(`State after 17256173 `, async () => {
767
- const blockNumber = 17256173;
768
- await testEventSubscriber(
769
- nervePool,
770
- nervePool.addressesSubscribed,
771
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
772
- blockNumber,
773
- Nerve.getIdentifier(dexKey, testPoolAddress),
774
- dexHelper.provider,
775
- );
776
- });
777
- it(`State after 17256144`, async () => {
778
- const blockNumber = 17256144;
779
- await testEventSubscriber(
780
- nervePool,
781
- nervePool.addressesSubscribed,
782
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
783
- blockNumber,
784
- Nerve.getIdentifier(dexKey, testPoolAddress),
785
- dexHelper.provider,
786
- );
787
- });
788
- });
789
-
790
- // AddLiquidity -> 0x189c623b666b1b45b83d7178f39b8c087cb09774317ca2f53c2d3c3726f222a2
791
- describe('AddLiquidity', () => {
792
- it(`State after 17220979`, async () => {
793
- const blockNumber = 17220979;
794
- await testEventSubscriber(
795
- nervePool,
796
- nervePool.addressesSubscribed,
797
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
798
- blockNumber,
799
- Nerve.getIdentifier(dexKey, testPoolAddress),
800
- dexHelper.provider,
801
- );
802
- });
803
- it(`State after 17186516`, async () => {
804
- const blockNumber = 17186516;
805
- await testEventSubscriber(
806
- nervePool,
807
- nervePool.addressesSubscribed,
808
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
809
- blockNumber,
810
- Nerve.getIdentifier(dexKey, testPoolAddress),
811
- dexHelper.provider,
812
- );
813
- });
814
- it(`State after 17186114`, async () => {
815
- const blockNumber = 17186114;
816
- await testEventSubscriber(
817
- nervePool,
818
- nervePool.addressesSubscribed,
819
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
820
- blockNumber,
821
- Nerve.getIdentifier(dexKey, testPoolAddress),
822
- dexHelper.provider,
823
- );
824
- });
825
- it(`State after 17180822`, async () => {
826
- const blockNumber = 17180822;
827
- await testEventSubscriber(
828
- nervePool,
829
- nervePool.addressesSubscribed,
830
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
831
- blockNumber,
832
- Nerve.getIdentifier(dexKey, testPoolAddress),
833
- dexHelper.provider,
834
- );
835
- });
836
- it(`State after 17154508`, async () => {
837
- const blockNumber = 17154508;
838
- await testEventSubscriber(
839
- nervePool,
840
- nervePool.addressesSubscribed,
841
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
842
- blockNumber,
843
- Nerve.getIdentifier(dexKey, testPoolAddress),
844
- dexHelper.provider,
845
- );
846
- });
847
- });
848
-
849
- // RemoveLiquidity -> 0x88d38ed598fdd809c2bf01ee49cd24b7fdabf379a83d29567952b60324d58cef
850
- describe('RemoveLiquidity', () => {
851
- it(`State after 17232908`, async () => {
852
- const blockNumber = 17232908;
853
- await testEventSubscriber(
854
- nervePool,
855
- nervePool.addressesSubscribed,
856
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
857
- blockNumber,
858
- Nerve.getIdentifier(dexKey, testPoolAddress),
859
- dexHelper.provider,
860
- );
861
- });
862
- it(`State after 17154430`, async () => {
863
- const blockNumber = 17154430;
864
- await testEventSubscriber(
865
- nervePool,
866
- nervePool.addressesSubscribed,
867
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
868
- blockNumber,
869
- Nerve.getIdentifier(dexKey, testPoolAddress),
870
- dexHelper.provider,
871
- );
872
- });
873
- it(`State after 16780865`, async () => {
874
- const blockNumber = 16780865;
875
- await testEventSubscriber(
876
- nervePool,
877
- nervePool.addressesSubscribed,
878
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
879
- blockNumber,
880
- Nerve.getIdentifier(dexKey, testPoolAddress),
881
- dexHelper.provider,
882
- );
883
- });
884
- it(`State after 13691211`, async () => {
885
- const blockNumber = 13691211;
886
- await testEventSubscriber(
887
- nervePool,
888
- nervePool.addressesSubscribed,
889
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
890
- blockNumber,
891
- Nerve.getIdentifier(dexKey, testPoolAddress),
892
- dexHelper.provider,
893
- );
894
- });
895
- });
896
-
897
- // NewSwapFee -> 0xd88ea5155021c6f8dafa1a741e173f595cdf77ce7c17d43342131d7f06afdfe5
898
- describe('NewSwapFee', () => {
899
- it(`State after 11349722`, async () => {
900
- const blockNumber = 11349722;
901
- await testEventSubscriber(
902
- nervePool,
903
- nervePool.addressesSubscribed,
904
- (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
905
- blockNumber,
906
- Nerve.getIdentifier(dexKey, testPoolAddress),
907
- dexHelper.provider,
908
- );
909
- });
910
- });
911
- });
1
+ import dotenv from 'dotenv';
2
+ dotenv.config();
3
+ import _ from 'lodash';
4
+ import { NerveEventPool } from './nerve-pool';
5
+ import { Network } from '../../constants';
6
+ import { DummyDexHelper } from '../../dex-helper/index';
7
+ import { testEventSubscriber } from '../../../tests/utils-events';
8
+ import { PoolState } from './types';
9
+ import { typeCastPoolState } from './utils';
10
+ import { Nerve } from './nerve';
11
+ import { threePoolName } from './config';
12
+
13
+ jest.setTimeout(50 * 1000);
14
+
15
+ async function fetchPoolState(
16
+ nervePool: NerveEventPool,
17
+ blockNumber: number,
18
+ ): Promise<PoolState> {
19
+ // It generates data from onchain data
20
+ return typeCastPoolState(
21
+ _.cloneDeep(await nervePool.generateState(blockNumber)),
22
+ );
23
+ }
24
+
25
+ describe('Nerve Event Pool BSC', async () => {
26
+ const dexKey = 'Nerve';
27
+ const poolName = threePoolName;
28
+ const network = Network.BSC;
29
+ const testPoolAddress = '0x1B3771a66ee31180906972580adE9b81AFc5fCDc'; // 3Pool
30
+ const dexHelper = new DummyDexHelper(network);
31
+ const logger = dexHelper.getLogger(dexKey);
32
+ let nervePool: NerveEventPool;
33
+
34
+ beforeEach(async () => {
35
+ nervePool = new NerveEventPool(
36
+ dexKey,
37
+ network,
38
+ dexHelper,
39
+ logger,
40
+ poolName,
41
+ );
42
+ });
43
+
44
+ // TokenSwap -> 0xc6c1e0630dbe9130cc068028486c0d118ddcea348550819defd5cb8c257f8a38
45
+ describe('TokenSwap', () => {
46
+ it(`State after 16847285`, async () => {
47
+ const blockNumber = 16847285;
48
+ await testEventSubscriber(
49
+ nervePool,
50
+ nervePool.addressesSubscribed,
51
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
52
+ blockNumber,
53
+ Nerve.getIdentifier(dexKey, testPoolAddress),
54
+ dexHelper.provider,
55
+ );
56
+ });
57
+ it(`State after 16847392`, async () => {
58
+ const blockNumber = 16847392;
59
+ await testEventSubscriber(
60
+ nervePool,
61
+ nervePool.addressesSubscribed,
62
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
63
+ blockNumber,
64
+ Nerve.getIdentifier(dexKey, testPoolAddress),
65
+ dexHelper.provider,
66
+ );
67
+ });
68
+ it(`State after 16847496`, async () => {
69
+ const blockNumber = 16847496;
70
+ await testEventSubscriber(
71
+ nervePool,
72
+ nervePool.addressesSubscribed,
73
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
74
+ blockNumber,
75
+ Nerve.getIdentifier(dexKey, testPoolAddress),
76
+ dexHelper.provider,
77
+ );
78
+ });
79
+ it(`State after 16853100`, async () => {
80
+ const blockNumber = 16853100;
81
+ await testEventSubscriber(
82
+ nervePool,
83
+ nervePool.addressesSubscribed,
84
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
85
+ blockNumber,
86
+ Nerve.getIdentifier(dexKey, testPoolAddress),
87
+ dexHelper.provider,
88
+ );
89
+ });
90
+ it(`State after 16852788`, async () => {
91
+ const blockNumber = 16852788;
92
+ await testEventSubscriber(
93
+ nervePool,
94
+ nervePool.addressesSubscribed,
95
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
96
+ blockNumber,
97
+ Nerve.getIdentifier(dexKey, testPoolAddress),
98
+ dexHelper.provider,
99
+ );
100
+ });
101
+ });
102
+
103
+ // AddLiquidity -> 0x189c623b666b1b45b83d7178f39b8c087cb09774317ca2f53c2d3c3726f222a2
104
+ describe('AddLiquidity', () => {
105
+ it(`State after 16714695`, async () => {
106
+ const blockNumber = 16714695;
107
+ await testEventSubscriber(
108
+ nervePool,
109
+ nervePool.addressesSubscribed,
110
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
111
+ blockNumber,
112
+ Nerve.getIdentifier(dexKey, testPoolAddress),
113
+ dexHelper.provider,
114
+ );
115
+ });
116
+ it(`State after 16714525`, async () => {
117
+ const blockNumber = 16714525;
118
+ await testEventSubscriber(
119
+ nervePool,
120
+ nervePool.addressesSubscribed,
121
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
122
+ blockNumber,
123
+ Nerve.getIdentifier(dexKey, testPoolAddress),
124
+ dexHelper.provider,
125
+ );
126
+ });
127
+ it(`State after 16630557`, async () => {
128
+ const blockNumber = 16630557;
129
+ await testEventSubscriber(
130
+ nervePool,
131
+ nervePool.addressesSubscribed,
132
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
133
+ blockNumber,
134
+ Nerve.getIdentifier(dexKey, testPoolAddress),
135
+ dexHelper.provider,
136
+ );
137
+ });
138
+ it(`State after 16222709`, async () => {
139
+ const blockNumber = 16222709;
140
+ await testEventSubscriber(
141
+ nervePool,
142
+ nervePool.addressesSubscribed,
143
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
144
+ blockNumber,
145
+ Nerve.getIdentifier(dexKey, testPoolAddress),
146
+ dexHelper.provider,
147
+ );
148
+ });
149
+ it(`State after 16116914`, async () => {
150
+ const blockNumber = 16116914;
151
+ await testEventSubscriber(
152
+ nervePool,
153
+ nervePool.addressesSubscribed,
154
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
155
+ blockNumber,
156
+ Nerve.getIdentifier(dexKey, testPoolAddress),
157
+ dexHelper.provider,
158
+ );
159
+ });
160
+ });
161
+
162
+ // RemoveLiquidity -> 0x88d38ed598fdd809c2bf01ee49cd24b7fdabf379a83d29567952b60324d58cef
163
+ describe('RemoveLiquidity', () => {
164
+ it(`State after 16379090`, async () => {
165
+ const blockNumber = 16379090;
166
+ await testEventSubscriber(
167
+ nervePool,
168
+ nervePool.addressesSubscribed,
169
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
170
+ blockNumber,
171
+ Nerve.getIdentifier(dexKey, testPoolAddress),
172
+ dexHelper.provider,
173
+ );
174
+ });
175
+ it(`State after 16281403`, async () => {
176
+ const blockNumber = 16281403;
177
+ await testEventSubscriber(
178
+ nervePool,
179
+ nervePool.addressesSubscribed,
180
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
181
+ blockNumber,
182
+ Nerve.getIdentifier(dexKey, testPoolAddress),
183
+ dexHelper.provider,
184
+ );
185
+ });
186
+ it(`State after 16277100`, async () => {
187
+ const blockNumber = 16277100;
188
+ await testEventSubscriber(
189
+ nervePool,
190
+ nervePool.addressesSubscribed,
191
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
192
+ blockNumber,
193
+ Nerve.getIdentifier(dexKey, testPoolAddress),
194
+ dexHelper.provider,
195
+ );
196
+ });
197
+ it(`State after 16117267`, async () => {
198
+ const blockNumber = 16117267;
199
+ await testEventSubscriber(
200
+ nervePool,
201
+ nervePool.addressesSubscribed,
202
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
203
+ blockNumber,
204
+ Nerve.getIdentifier(dexKey, testPoolAddress),
205
+ dexHelper.provider,
206
+ );
207
+ });
208
+ it(`State after 15929026`, async () => {
209
+ const blockNumber = 15929026;
210
+ await testEventSubscriber(
211
+ nervePool,
212
+ nervePool.addressesSubscribed,
213
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
214
+ blockNumber,
215
+ Nerve.getIdentifier(dexKey, testPoolAddress),
216
+ dexHelper.provider,
217
+ );
218
+ });
219
+ });
220
+
221
+ // RemoveLiquidityImbalance -> 0x3631c28b1f9dd213e0319fb167b554d76b6c283a41143eb400a0d1adb1af1755
222
+ describe('RemoveLiquidityImbalance', () => {
223
+ it(`State after 15639364`, async () => {
224
+ const blockNumber = 15639364;
225
+ await testEventSubscriber(
226
+ nervePool,
227
+ nervePool.addressesSubscribed,
228
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
229
+ blockNumber,
230
+ Nerve.getIdentifier(dexKey, testPoolAddress),
231
+ dexHelper.provider,
232
+ );
233
+ });
234
+ it(`State after 12543503`, async () => {
235
+ const blockNumber = 12543503;
236
+ await testEventSubscriber(
237
+ nervePool,
238
+ nervePool.addressesSubscribed,
239
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
240
+ blockNumber,
241
+ Nerve.getIdentifier(dexKey, testPoolAddress),
242
+ dexHelper.provider,
243
+ );
244
+ });
245
+ it(`State after 11298608`, async () => {
246
+ const blockNumber = 11298608;
247
+ await testEventSubscriber(
248
+ nervePool,
249
+ nervePool.addressesSubscribed,
250
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
251
+ blockNumber,
252
+ Nerve.getIdentifier(dexKey, testPoolAddress),
253
+ dexHelper.provider,
254
+ );
255
+ });
256
+ it(`State after 11298568`, async () => {
257
+ const blockNumber = 11298568;
258
+ await testEventSubscriber(
259
+ nervePool,
260
+ nervePool.addressesSubscribed,
261
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
262
+ blockNumber,
263
+ Nerve.getIdentifier(dexKey, testPoolAddress),
264
+ dexHelper.provider,
265
+ );
266
+ });
267
+ it(`State after 10691460`, async () => {
268
+ const blockNumber = 10691460;
269
+ await testEventSubscriber(
270
+ nervePool,
271
+ nervePool.addressesSubscribed,
272
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
273
+ blockNumber,
274
+ Nerve.getIdentifier(dexKey, testPoolAddress),
275
+ dexHelper.provider,
276
+ );
277
+ });
278
+ });
279
+
280
+ // NewAdminFee -> 0xab599d640ca80cde2b09b128a4154a8dfe608cb80f4c9399c8b954b01fd35f38
281
+ // Tests are turned off because blocks are too old and I don't receive results from RPC
282
+ // describe('NewAdminFee', () => {
283
+ // it(`State after 7287599`, async () => {
284
+ // const blockNumber = 7287599;
285
+ // await testEventSubscriber(
286
+ // nervePool,
287
+ // nervePool.addressesSubscribed,
288
+ // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
289
+ // blockNumber,
290
+ // Nerve.getIdentifier(dexKey, testPoolAddress),
291
+ // dexHelper.provider,
292
+ // );
293
+ // });
294
+ // });
295
+
296
+ // NewSwapFee -> 0xd88ea5155021c6f8dafa1a741e173f595cdf77ce7c17d43342131d7f06afdfe5
297
+ // Tests are turned off because blocks are too old and I don't receive results from RPC
298
+ // describe('NewSwapFee', () => {
299
+ // it(`State after 7386449`, async () => {
300
+ // const blockNumber = 7386449;
301
+ // await testEventSubscriber(
302
+ // nervePool,
303
+ // nervePool.addressesSubscribed,
304
+ // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
305
+ // blockNumber,
306
+ // Nerve.getIdentifier(dexKey, testPoolAddress),
307
+ // dexHelper.provider,
308
+ // );
309
+ // });
310
+ // it(`State after 6086293`, async () => {
311
+ // const blockNumber = 6086293;
312
+ // await testEventSubscriber(
313
+ // nervePool,
314
+ // nervePool.addressesSubscribed,
315
+ // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
316
+ // blockNumber,
317
+ // Nerve.getIdentifier(dexKey, testPoolAddress),
318
+ // dexHelper.provider,
319
+ // );
320
+ // });
321
+ // });
322
+
323
+ // NewDepositFee -> 0x5237b692334926d9ab50f9d1ac513fe7e153f0cd81dd7c55a09d281d2985d808
324
+ // Tests are turned off because blocks are too old and I don't receive results from RPC
325
+ // describe('NewDepositFee', () => {
326
+ // it(`State after 7035445`, async () => {
327
+ // const blockNumber = 7035445;
328
+ // await testEventSubscriber(
329
+ // nervePool,
330
+ // nervePool.addressesSubscribed,
331
+ // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
332
+ // blockNumber,
333
+ // Nerve.getIdentifier(dexKey, testPoolAddress),
334
+ // dexHelper.provider,
335
+ // );
336
+ // });
337
+ // it(`State after 6086217`, async () => {
338
+ // const blockNumber = 6086217;
339
+ // await testEventSubscriber(
340
+ // nervePool,
341
+ // nervePool.addressesSubscribed,
342
+ // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
343
+ // blockNumber,
344
+ // Nerve.getIdentifier(dexKey, testPoolAddress),
345
+ // dexHelper.provider,
346
+ // );
347
+ // });
348
+ // it(`State after 5654596`, async () => {
349
+ // const blockNumber = 5654596;
350
+ // await testEventSubscriber(
351
+ // nervePool,
352
+ // nervePool.addressesSubscribed,
353
+ // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
354
+ // blockNumber,
355
+ // Nerve.getIdentifier(dexKey, testPoolAddress),
356
+ // dexHelper.provider,
357
+ // );
358
+ // });
359
+ // it(`State after 5453031`, async () => {
360
+ // const blockNumber = 5453031;
361
+ // await testEventSubscriber(
362
+ // nervePool,
363
+ // nervePool.addressesSubscribed,
364
+ // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
365
+ // blockNumber,
366
+ // Nerve.getIdentifier(dexKey, testPoolAddress),
367
+ // dexHelper.provider,
368
+ // );
369
+ // });
370
+ // });
371
+
372
+ // RampA -> 0xa2b71ec6df949300b59aab36b55e189697b750119dd349fcfa8c0f779e83c254
373
+ // Tests are turned off because blocks are too old and I don't receive results from RPC
374
+ // describe('RampA', () => {
375
+ // it(`State after 7385654`, async () => {
376
+ // const blockNumber = 7385654;
377
+ // await testEventSubscriber(
378
+ // nervePool,
379
+ // nervePool.addressesSubscribed,
380
+ // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
381
+ // blockNumber,
382
+ // Nerve.getIdentifier(dexKey, testPoolAddress),
383
+ // dexHelper.provider,
384
+ // );
385
+ // });
386
+ // it(`State after 5914844`, async () => {
387
+ // const blockNumber = 5914844;
388
+ // await testEventSubscriber(
389
+ // nervePool,
390
+ // nervePool.addressesSubscribed,
391
+ // (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
392
+ // blockNumber,
393
+ // Nerve.getIdentifier(dexKey, testPoolAddress),
394
+ // dexHelper.provider,
395
+ // );
396
+ // });
397
+ // });
398
+
399
+ // RemoveLiquidityOne -> 0x43fb02998f4e03da2e0e6fff53fdbf0c40a9f45f145dc377fc30615d7d7a8a64
400
+ // We do not support RemoveLiquidityOne as it requires onchain call of exact values
401
+
402
+ // NewWithdrawFee -> 0xd5fe46099fa396290a7f57e36c3c3c8774e2562c18ed5d1dcc0fa75071e03f1d
403
+ // No events for NewWithdrawFee
404
+
405
+ // StopRampA -> 0x46e22fb3709ad289f62ce63d469248536dbc78d82b84a3d7e74ad606dc201938
406
+ // No events for StopRampA
407
+ });
408
+
409
+ describe('IronV2 Event Pool Polygon', async () => {
410
+ const dexKey = 'IronV2';
411
+ const poolName = 'IS3USD_POLYGON';
412
+ const network = Network.POLYGON;
413
+ const testPoolAddress = '0x837503e8A8753ae17fB8C8151B8e6f586defCb57'; // IS3USD
414
+ const dexHelper = new DummyDexHelper(network);
415
+ const logger = dexHelper.getLogger(dexKey);
416
+ let nervePool: NerveEventPool;
417
+
418
+ beforeEach(async () => {
419
+ nervePool = new NerveEventPool(
420
+ dexKey,
421
+ network,
422
+ dexHelper,
423
+ logger,
424
+ poolName,
425
+ );
426
+ });
427
+
428
+ // TokenExchange -> 0xb2e76ae99761dc136e598d4a629bb347eccb9532a5f8bbd72e18467c3c34cc98
429
+ describe('TokenExchange', () => {
430
+ it(`State after 27019055`, async () => {
431
+ const blockNumber = 27019055;
432
+ await testEventSubscriber(
433
+ nervePool,
434
+ nervePool.addressesSubscribed,
435
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
436
+ blockNumber,
437
+ Nerve.getIdentifier(dexKey, testPoolAddress),
438
+ dexHelper.provider,
439
+ );
440
+ });
441
+ it(`State after 27019043`, async () => {
442
+ const blockNumber = 27019043;
443
+ await testEventSubscriber(
444
+ nervePool,
445
+ nervePool.addressesSubscribed,
446
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
447
+ blockNumber,
448
+ Nerve.getIdentifier(dexKey, testPoolAddress),
449
+ dexHelper.provider,
450
+ );
451
+ });
452
+ it(`State after 27019042`, async () => {
453
+ const blockNumber = 27019042;
454
+ await testEventSubscriber(
455
+ nervePool,
456
+ nervePool.addressesSubscribed,
457
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
458
+ blockNumber,
459
+ Nerve.getIdentifier(dexKey, testPoolAddress),
460
+ dexHelper.provider,
461
+ );
462
+ });
463
+ it(`State after 27018991`, async () => {
464
+ const blockNumber = 27018991;
465
+ await testEventSubscriber(
466
+ nervePool,
467
+ nervePool.addressesSubscribed,
468
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
469
+ blockNumber,
470
+ Nerve.getIdentifier(dexKey, testPoolAddress),
471
+ dexHelper.provider,
472
+ );
473
+ });
474
+ it(`State after 27018933`, async () => {
475
+ const blockNumber = 27018933;
476
+ await testEventSubscriber(
477
+ nervePool,
478
+ nervePool.addressesSubscribed,
479
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
480
+ blockNumber,
481
+ Nerve.getIdentifier(dexKey, testPoolAddress),
482
+ dexHelper.provider,
483
+ );
484
+ });
485
+ });
486
+
487
+ // AddLiquidity -> 0x189c623b666b1b45b83d7178f39b8c087cb09774317ca2f53c2d3c3726f222a2
488
+ describe('AddLiquidity', () => {
489
+ it(`State after 27019013`, async () => {
490
+ const blockNumber = 27019013;
491
+ await testEventSubscriber(
492
+ nervePool,
493
+ nervePool.addressesSubscribed,
494
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
495
+ blockNumber,
496
+ Nerve.getIdentifier(dexKey, testPoolAddress),
497
+ dexHelper.provider,
498
+ );
499
+ });
500
+ it(`State after 27017516`, async () => {
501
+ const blockNumber = 27017516;
502
+ await testEventSubscriber(
503
+ nervePool,
504
+ nervePool.addressesSubscribed,
505
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
506
+ blockNumber,
507
+ Nerve.getIdentifier(dexKey, testPoolAddress),
508
+ dexHelper.provider,
509
+ );
510
+ });
511
+ it(`State after 27017515`, async () => {
512
+ const blockNumber = 27017515;
513
+ await testEventSubscriber(
514
+ nervePool,
515
+ nervePool.addressesSubscribed,
516
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
517
+ blockNumber,
518
+ Nerve.getIdentifier(dexKey, testPoolAddress),
519
+ dexHelper.provider,
520
+ );
521
+ });
522
+ it(`State after 27017333`, async () => {
523
+ const blockNumber = 27017333;
524
+ await testEventSubscriber(
525
+ nervePool,
526
+ nervePool.addressesSubscribed,
527
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
528
+ blockNumber,
529
+ Nerve.getIdentifier(dexKey, testPoolAddress),
530
+ dexHelper.provider,
531
+ );
532
+ });
533
+ it(`State after 27015656`, async () => {
534
+ const blockNumber = 27015656;
535
+ await testEventSubscriber(
536
+ nervePool,
537
+ nervePool.addressesSubscribed,
538
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
539
+ blockNumber,
540
+ Nerve.getIdentifier(dexKey, testPoolAddress),
541
+ dexHelper.provider,
542
+ );
543
+ });
544
+ });
545
+
546
+ // RemoveLiquidity -> 0x347ad828e58cbe534d8f6b67985d791360756b18f0d95fd9f197a66cc46480ea
547
+ describe('RemoveLiquidity', () => {
548
+ it(`State after 27009010`, async () => {
549
+ const blockNumber = 27009010;
550
+ await testEventSubscriber(
551
+ nervePool,
552
+ nervePool.addressesSubscribed,
553
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
554
+ blockNumber,
555
+ Nerve.getIdentifier(dexKey, testPoolAddress),
556
+ dexHelper.provider,
557
+ );
558
+ });
559
+ it(`State after 26993341`, async () => {
560
+ const blockNumber = 26993341;
561
+ await testEventSubscriber(
562
+ nervePool,
563
+ nervePool.addressesSubscribed,
564
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
565
+ blockNumber,
566
+ Nerve.getIdentifier(dexKey, testPoolAddress),
567
+ dexHelper.provider,
568
+ );
569
+ });
570
+ it(`State after 26993296`, async () => {
571
+ const blockNumber = 26993296;
572
+ await testEventSubscriber(
573
+ nervePool,
574
+ nervePool.addressesSubscribed,
575
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
576
+ blockNumber,
577
+ Nerve.getIdentifier(dexKey, testPoolAddress),
578
+ dexHelper.provider,
579
+ );
580
+ });
581
+ it(`State after 26973410`, async () => {
582
+ const blockNumber = 26973410;
583
+ await testEventSubscriber(
584
+ nervePool,
585
+ nervePool.addressesSubscribed,
586
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
587
+ blockNumber,
588
+ Nerve.getIdentifier(dexKey, testPoolAddress),
589
+ dexHelper.provider,
590
+ );
591
+ });
592
+ it(`State after 26749868`, async () => {
593
+ const blockNumber = 26749868;
594
+ await testEventSubscriber(
595
+ nervePool,
596
+ nervePool.addressesSubscribed,
597
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
598
+ blockNumber,
599
+ Nerve.getIdentifier(dexKey, testPoolAddress),
600
+ dexHelper.provider,
601
+ );
602
+ });
603
+ });
604
+
605
+ // NewFee -> 0xcfca96e0fef3432146913b2a5a2268a55d3f475fe057e7ffde1082b77693f4f3
606
+ describe('NewFee', () => {
607
+ it(`State after 17064317`, async () => {
608
+ const blockNumber = 17064317;
609
+ await testEventSubscriber(
610
+ nervePool,
611
+ nervePool.addressesSubscribed,
612
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
613
+ blockNumber,
614
+ Nerve.getIdentifier(dexKey, testPoolAddress),
615
+ dexHelper.provider,
616
+ );
617
+ });
618
+ it(`State after 16813530`, async () => {
619
+ const blockNumber = 16813530;
620
+ await testEventSubscriber(
621
+ nervePool,
622
+ nervePool.addressesSubscribed,
623
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
624
+ blockNumber,
625
+ Nerve.getIdentifier(dexKey, testPoolAddress),
626
+ dexHelper.provider,
627
+ );
628
+ });
629
+ it(`State after 16632075`, async () => {
630
+ const blockNumber = 16632075;
631
+ await testEventSubscriber(
632
+ nervePool,
633
+ nervePool.addressesSubscribed,
634
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
635
+ blockNumber,
636
+ Nerve.getIdentifier(dexKey, testPoolAddress),
637
+ dexHelper.provider,
638
+ );
639
+ });
640
+ });
641
+
642
+ // RampA -> 0xa2b71ec6df949300b59aab36b55e189697b750119dd349fcfa8c0f779e83c254
643
+ describe('RampA', () => {
644
+ it(`State after 17202291`, async () => {
645
+ const blockNumber = 17202291;
646
+ await testEventSubscriber(
647
+ nervePool,
648
+ nervePool.addressesSubscribed,
649
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
650
+ blockNumber,
651
+ Nerve.getIdentifier(dexKey, testPoolAddress),
652
+ dexHelper.provider,
653
+ );
654
+ });
655
+ it(`State after 17132310`, async () => {
656
+ const blockNumber = 17132310;
657
+ await testEventSubscriber(
658
+ nervePool,
659
+ nervePool.addressesSubscribed,
660
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
661
+ blockNumber,
662
+ Nerve.getIdentifier(dexKey, testPoolAddress),
663
+ dexHelper.provider,
664
+ );
665
+ });
666
+ it(`State after 17062453`, async () => {
667
+ const blockNumber = 17062453;
668
+ await testEventSubscriber(
669
+ nervePool,
670
+ nervePool.addressesSubscribed,
671
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
672
+ blockNumber,
673
+ Nerve.getIdentifier(dexKey, testPoolAddress),
674
+ dexHelper.provider,
675
+ );
676
+ });
677
+ it(`State after 16809165`, async () => {
678
+ const blockNumber = 16809165;
679
+ await testEventSubscriber(
680
+ nervePool,
681
+ nervePool.addressesSubscribed,
682
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
683
+ blockNumber,
684
+ Nerve.getIdentifier(dexKey, testPoolAddress),
685
+ dexHelper.provider,
686
+ );
687
+ });
688
+ });
689
+
690
+ // StopRampA -> 0x46e22fb3709ad289f62ce63d469248536dbc78d82b84a3d7e74ad606dc201938
691
+ describe('StopRampA', () => {
692
+ it(`State after 17095506`, async () => {
693
+ const blockNumber = 17095506;
694
+ await testEventSubscriber(
695
+ nervePool,
696
+ nervePool.addressesSubscribed,
697
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
698
+ blockNumber,
699
+ Nerve.getIdentifier(dexKey, testPoolAddress),
700
+ dexHelper.provider,
701
+ );
702
+ });
703
+ });
704
+
705
+ // RemoveLiquidityOne -> 0x5ad056f2e28a8cec232015406b843668c1e36cda598127ec3b8c59b8c72773a0
706
+ // We do not support RemoveLiquidityOne as it requires onchain call of exact values
707
+
708
+ // RemoveLiquidityImbalance -> 0x3631c28b1f9dd213e0319fb167b554d76b6c283a41143eb400a0d1adb1af1755
709
+ // No events for RemoveLiquidityImbalance
710
+ });
711
+
712
+ describe('Synapse Event Pool Arbitrum', async () => {
713
+ const dexKey = 'Synapse';
714
+ const network = Network.ARBITRUM;
715
+ const poolName = 'nUSDV3';
716
+ const testPoolAddress = '0x9Dd329F5411466d9e0C488fF72519CA9fEf0cb40'; // nUSDV3
717
+ const dexHelper = new DummyDexHelper(network);
718
+ const logger = dexHelper.getLogger(dexKey);
719
+ let nervePool: NerveEventPool;
720
+
721
+ beforeEach(async () => {
722
+ nervePool = new NerveEventPool(
723
+ dexKey,
724
+ network,
725
+ dexHelper,
726
+ logger,
727
+ poolName,
728
+ );
729
+ });
730
+
731
+ // TokenSwap -> 0xc6c1e0630dbe9130cc068028486c0d118ddcea348550819defd5cb8c257f8a38
732
+ describe('TokenSwap', () => {
733
+ it(`State after 17256191`, async () => {
734
+ const blockNumber = 17256191;
735
+ await testEventSubscriber(
736
+ nervePool,
737
+ nervePool.addressesSubscribed,
738
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
739
+ blockNumber,
740
+ Nerve.getIdentifier(dexKey, testPoolAddress),
741
+ dexHelper.provider,
742
+ );
743
+ });
744
+ it(`State after 17256467`, async () => {
745
+ const blockNumber = 17256467;
746
+ await testEventSubscriber(
747
+ nervePool,
748
+ nervePool.addressesSubscribed,
749
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
750
+ blockNumber,
751
+ Nerve.getIdentifier(dexKey, testPoolAddress),
752
+ dexHelper.provider,
753
+ );
754
+ });
755
+ it(`State after 17256191`, async () => {
756
+ const blockNumber = 17256191;
757
+ await testEventSubscriber(
758
+ nervePool,
759
+ nervePool.addressesSubscribed,
760
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
761
+ blockNumber,
762
+ Nerve.getIdentifier(dexKey, testPoolAddress),
763
+ dexHelper.provider,
764
+ );
765
+ });
766
+ it(`State after 17256173 `, async () => {
767
+ const blockNumber = 17256173;
768
+ await testEventSubscriber(
769
+ nervePool,
770
+ nervePool.addressesSubscribed,
771
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
772
+ blockNumber,
773
+ Nerve.getIdentifier(dexKey, testPoolAddress),
774
+ dexHelper.provider,
775
+ );
776
+ });
777
+ it(`State after 17256144`, async () => {
778
+ const blockNumber = 17256144;
779
+ await testEventSubscriber(
780
+ nervePool,
781
+ nervePool.addressesSubscribed,
782
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
783
+ blockNumber,
784
+ Nerve.getIdentifier(dexKey, testPoolAddress),
785
+ dexHelper.provider,
786
+ );
787
+ });
788
+ });
789
+
790
+ // AddLiquidity -> 0x189c623b666b1b45b83d7178f39b8c087cb09774317ca2f53c2d3c3726f222a2
791
+ describe('AddLiquidity', () => {
792
+ it(`State after 17220979`, async () => {
793
+ const blockNumber = 17220979;
794
+ await testEventSubscriber(
795
+ nervePool,
796
+ nervePool.addressesSubscribed,
797
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
798
+ blockNumber,
799
+ Nerve.getIdentifier(dexKey, testPoolAddress),
800
+ dexHelper.provider,
801
+ );
802
+ });
803
+ it(`State after 17186516`, async () => {
804
+ const blockNumber = 17186516;
805
+ await testEventSubscriber(
806
+ nervePool,
807
+ nervePool.addressesSubscribed,
808
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
809
+ blockNumber,
810
+ Nerve.getIdentifier(dexKey, testPoolAddress),
811
+ dexHelper.provider,
812
+ );
813
+ });
814
+ it(`State after 17186114`, async () => {
815
+ const blockNumber = 17186114;
816
+ await testEventSubscriber(
817
+ nervePool,
818
+ nervePool.addressesSubscribed,
819
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
820
+ blockNumber,
821
+ Nerve.getIdentifier(dexKey, testPoolAddress),
822
+ dexHelper.provider,
823
+ );
824
+ });
825
+ it(`State after 17180822`, async () => {
826
+ const blockNumber = 17180822;
827
+ await testEventSubscriber(
828
+ nervePool,
829
+ nervePool.addressesSubscribed,
830
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
831
+ blockNumber,
832
+ Nerve.getIdentifier(dexKey, testPoolAddress),
833
+ dexHelper.provider,
834
+ );
835
+ });
836
+ it(`State after 17154508`, async () => {
837
+ const blockNumber = 17154508;
838
+ await testEventSubscriber(
839
+ nervePool,
840
+ nervePool.addressesSubscribed,
841
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
842
+ blockNumber,
843
+ Nerve.getIdentifier(dexKey, testPoolAddress),
844
+ dexHelper.provider,
845
+ );
846
+ });
847
+ });
848
+
849
+ // RemoveLiquidity -> 0x88d38ed598fdd809c2bf01ee49cd24b7fdabf379a83d29567952b60324d58cef
850
+ describe('RemoveLiquidity', () => {
851
+ it(`State after 17232908`, async () => {
852
+ const blockNumber = 17232908;
853
+ await testEventSubscriber(
854
+ nervePool,
855
+ nervePool.addressesSubscribed,
856
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
857
+ blockNumber,
858
+ Nerve.getIdentifier(dexKey, testPoolAddress),
859
+ dexHelper.provider,
860
+ );
861
+ });
862
+ it(`State after 17154430`, async () => {
863
+ const blockNumber = 17154430;
864
+ await testEventSubscriber(
865
+ nervePool,
866
+ nervePool.addressesSubscribed,
867
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
868
+ blockNumber,
869
+ Nerve.getIdentifier(dexKey, testPoolAddress),
870
+ dexHelper.provider,
871
+ );
872
+ });
873
+ it(`State after 16780865`, async () => {
874
+ const blockNumber = 16780865;
875
+ await testEventSubscriber(
876
+ nervePool,
877
+ nervePool.addressesSubscribed,
878
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
879
+ blockNumber,
880
+ Nerve.getIdentifier(dexKey, testPoolAddress),
881
+ dexHelper.provider,
882
+ );
883
+ });
884
+ it(`State after 13691211`, async () => {
885
+ const blockNumber = 13691211;
886
+ await testEventSubscriber(
887
+ nervePool,
888
+ nervePool.addressesSubscribed,
889
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
890
+ blockNumber,
891
+ Nerve.getIdentifier(dexKey, testPoolAddress),
892
+ dexHelper.provider,
893
+ );
894
+ });
895
+ });
896
+
897
+ // NewSwapFee -> 0xd88ea5155021c6f8dafa1a741e173f595cdf77ce7c17d43342131d7f06afdfe5
898
+ describe('NewSwapFee', () => {
899
+ it(`State after 11349722`, async () => {
900
+ const blockNumber = 11349722;
901
+ await testEventSubscriber(
902
+ nervePool,
903
+ nervePool.addressesSubscribed,
904
+ (_blockNumber: number) => fetchPoolState(nervePool, _blockNumber),
905
+ blockNumber,
906
+ Nerve.getIdentifier(dexKey, testPoolAddress),
907
+ dexHelper.provider,
908
+ );
909
+ });
910
+ });
911
+ });