@paraswap/dex-lib 4.8.36-metric.0 → 4.8.37-balancer-v3-buffer-limits.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.
@@ -1,358 +1,4 @@
1
1
  [
2
- {
3
- "inputs": [
4
- {
5
- "internalType": "address",
6
- "name": "_weth",
7
- "type": "address"
8
- }
9
- ],
10
- "stateMutability": "nonpayable",
11
- "type": "constructor"
12
- },
13
- {
14
- "inputs": [
15
- {
16
- "internalType": "uint256",
17
- "name": "amountIn",
18
- "type": "uint256"
19
- },
20
- {
21
- "internalType": "uint256",
22
- "name": "maxAmountIn",
23
- "type": "uint256"
24
- }
25
- ],
26
- "name": "InputTooHigh",
27
- "type": "error"
28
- },
29
- {
30
- "inputs": [
31
- {
32
- "internalType": "uint256",
33
- "name": "required",
34
- "type": "uint256"
35
- },
36
- {
37
- "internalType": "uint256",
38
- "name": "available",
39
- "type": "uint256"
40
- }
41
- ],
42
- "name": "InsufficientNativeValue",
43
- "type": "error"
44
- },
45
- {
46
- "inputs": [
47
- {
48
- "internalType": "uint256",
49
- "name": "amountOut",
50
- "type": "uint256"
51
- },
52
- {
53
- "internalType": "uint256",
54
- "name": "minAmountOut",
55
- "type": "uint256"
56
- }
57
- ],
58
- "name": "InsufficientOutput",
59
- "type": "error"
60
- },
61
- {
62
- "inputs": [],
63
- "name": "InvalidCallbackCaller",
64
- "type": "error"
65
- },
66
- {
67
- "inputs": [],
68
- "name": "InvalidSwapDeltas",
69
- "type": "error"
70
- },
71
- {
72
- "inputs": [],
73
- "name": "InvalidWETH",
74
- "type": "error"
75
- },
76
- {
77
- "inputs": [
78
- {
79
- "internalType": "address",
80
- "name": "token",
81
- "type": "address"
82
- }
83
- ],
84
- "name": "NativeInputNotSupported",
85
- "type": "error"
86
- },
87
- {
88
- "inputs": [
89
- {
90
- "internalType": "address",
91
- "name": "token",
92
- "type": "address"
93
- }
94
- ],
95
- "name": "NativeOutputNotSupported",
96
- "type": "error"
97
- },
98
- {
99
- "inputs": [],
100
- "name": "NativeTransferFailed",
101
- "type": "error"
102
- },
103
- {
104
- "inputs": [],
105
- "name": "NativeValueNotExpected",
106
- "type": "error"
107
- },
108
- {
109
- "inputs": [],
110
- "name": "SwapInProgress",
111
- "type": "error"
112
- },
113
- {
114
- "inputs": [
115
- {
116
- "internalType": "uint256",
117
- "name": "deadline",
118
- "type": "uint256"
119
- },
120
- {
121
- "internalType": "uint256",
122
- "name": "timestamp",
123
- "type": "uint256"
124
- }
125
- ],
126
- "name": "TransactionExpired",
127
- "type": "error"
128
- },
129
- {
130
- "inputs": [
131
- {
132
- "internalType": "address",
133
- "name": "target",
134
- "type": "address"
135
- },
136
- {
137
- "internalType": "bytes4",
138
- "name": "selector",
139
- "type": "bytes4"
140
- },
141
- {
142
- "internalType": "bytes",
143
- "name": "reason",
144
- "type": "bytes"
145
- },
146
- {
147
- "internalType": "bytes",
148
- "name": "additionalInfo",
149
- "type": "bytes"
150
- }
151
- ],
152
- "name": "WrappedError",
153
- "type": "error"
154
- },
155
- {
156
- "inputs": [
157
- {
158
- "internalType": "address",
159
- "name": "target",
160
- "type": "address"
161
- },
162
- {
163
- "internalType": "bytes4",
164
- "name": "selector",
165
- "type": "bytes4"
166
- },
167
- {
168
- "internalType": "bytes",
169
- "name": "reason",
170
- "type": "bytes"
171
- },
172
- {
173
- "internalType": "bytes",
174
- "name": "details",
175
- "type": "bytes"
176
- }
177
- ],
178
- "name": "WrappedError",
179
- "type": "error"
180
- },
181
- {
182
- "inputs": [
183
- {
184
- "internalType": "int256",
185
- "name": "amount0Delta",
186
- "type": "int256"
187
- },
188
- {
189
- "internalType": "int256",
190
- "name": "amount1Delta",
191
- "type": "int256"
192
- },
193
- {
194
- "internalType": "bytes",
195
- "name": "",
196
- "type": "bytes"
197
- }
198
- ],
199
- "name": "metricOmmSwapCallback",
200
- "outputs": [],
201
- "stateMutability": "nonpayable",
202
- "type": "function"
203
- },
204
- {
205
- "inputs": [
206
- {
207
- "internalType": "address",
208
- "name": "pool",
209
- "type": "address"
210
- },
211
- {
212
- "internalType": "bool",
213
- "name": "zeroForOne",
214
- "type": "bool"
215
- },
216
- {
217
- "internalType": "int128",
218
- "name": "amountSpecified",
219
- "type": "int128"
220
- },
221
- {
222
- "internalType": "uint128",
223
- "name": "priceLimitX64",
224
- "type": "uint128"
225
- },
226
- {
227
- "internalType": "uint128",
228
- "name": "bidPriceX64",
229
- "type": "uint128"
230
- },
231
- {
232
- "internalType": "uint128",
233
- "name": "askPriceX64",
234
- "type": "uint128"
235
- }
236
- ],
237
- "name": "quoteSwap",
238
- "outputs": [
239
- {
240
- "internalType": "int128",
241
- "name": "amount0Delta",
242
- "type": "int128"
243
- },
244
- {
245
- "internalType": "int128",
246
- "name": "amount1Delta",
247
- "type": "int128"
248
- }
249
- ],
250
- "stateMutability": "nonpayable",
251
- "type": "function"
252
- },
253
- {
254
- "inputs": [
255
- {
256
- "internalType": "address",
257
- "name": "pool",
258
- "type": "address"
259
- },
260
- {
261
- "internalType": "address",
262
- "name": "recipient",
263
- "type": "address"
264
- },
265
- {
266
- "internalType": "bool",
267
- "name": "zeroForOne",
268
- "type": "bool"
269
- },
270
- {
271
- "internalType": "int128",
272
- "name": "amountSpecified",
273
- "type": "int128"
274
- },
275
- {
276
- "internalType": "uint128",
277
- "name": "priceLimitX64",
278
- "type": "uint128"
279
- },
280
- {
281
- "internalType": "uint256",
282
- "name": "deadline",
283
- "type": "uint256"
284
- },
285
- {
286
- "internalType": "bytes",
287
- "name": "data",
288
- "type": "bytes"
289
- }
290
- ],
291
- "name": "swap",
292
- "outputs": [
293
- {
294
- "internalType": "int128",
295
- "name": "amount0Delta",
296
- "type": "int128"
297
- },
298
- {
299
- "internalType": "int128",
300
- "name": "amount1Delta",
301
- "type": "int128"
302
- }
303
- ],
304
- "stateMutability": "payable",
305
- "type": "function"
306
- },
307
- {
308
- "inputs": [
309
- {
310
- "internalType": "address",
311
- "name": "pool",
312
- "type": "address"
313
- },
314
- {
315
- "internalType": "address",
316
- "name": "recipient",
317
- "type": "address"
318
- },
319
- {
320
- "internalType": "bool",
321
- "name": "zeroForOne",
322
- "type": "bool"
323
- },
324
- {
325
- "internalType": "int128",
326
- "name": "amountSpecified",
327
- "type": "int128"
328
- },
329
- {
330
- "internalType": "uint128",
331
- "name": "priceLimitX64",
332
- "type": "uint128"
333
- },
334
- {
335
- "internalType": "uint256",
336
- "name": "deadline",
337
- "type": "uint256"
338
- }
339
- ],
340
- "name": "swap",
341
- "outputs": [
342
- {
343
- "internalType": "int128",
344
- "name": "amount0Delta",
345
- "type": "int128"
346
- },
347
- {
348
- "internalType": "int128",
349
- "name": "amount1Delta",
350
- "type": "int128"
351
- }
352
- ],
353
- "stateMutability": "payable",
354
- "type": "function"
355
- },
356
2
  {
357
3
  "inputs": [
358
4
  {
@@ -406,279 +52,5 @@
406
52
  ],
407
53
  "stateMutability": "payable",
408
54
  "type": "function"
409
- },
410
- {
411
- "inputs": [
412
- {
413
- "internalType": "address",
414
- "name": "pool",
415
- "type": "address"
416
- },
417
- {
418
- "internalType": "address",
419
- "name": "recipient",
420
- "type": "address"
421
- },
422
- {
423
- "internalType": "bool",
424
- "name": "zeroForOne",
425
- "type": "bool"
426
- },
427
- {
428
- "internalType": "uint128",
429
- "name": "amountIn",
430
- "type": "uint128"
431
- },
432
- {
433
- "internalType": "uint128",
434
- "name": "priceLimitX64",
435
- "type": "uint128"
436
- },
437
- {
438
- "internalType": "uint256",
439
- "name": "minAmountOut",
440
- "type": "uint256"
441
- },
442
- {
443
- "internalType": "uint256",
444
- "name": "deadline",
445
- "type": "uint256"
446
- }
447
- ],
448
- "name": "swapExactInputNativeForTokens",
449
- "outputs": [
450
- {
451
- "internalType": "uint256",
452
- "name": "amountOut",
453
- "type": "uint256"
454
- },
455
- {
456
- "internalType": "uint256",
457
- "name": "amountInUsed",
458
- "type": "uint256"
459
- }
460
- ],
461
- "stateMutability": "payable",
462
- "type": "function"
463
- },
464
- {
465
- "inputs": [
466
- {
467
- "internalType": "address",
468
- "name": "pool",
469
- "type": "address"
470
- },
471
- {
472
- "internalType": "address",
473
- "name": "recipient",
474
- "type": "address"
475
- },
476
- {
477
- "internalType": "bool",
478
- "name": "zeroForOne",
479
- "type": "bool"
480
- },
481
- {
482
- "internalType": "uint128",
483
- "name": "amountIn",
484
- "type": "uint128"
485
- },
486
- {
487
- "internalType": "uint128",
488
- "name": "priceLimitX64",
489
- "type": "uint128"
490
- },
491
- {
492
- "internalType": "uint256",
493
- "name": "minAmountOut",
494
- "type": "uint256"
495
- },
496
- {
497
- "internalType": "uint256",
498
- "name": "deadline",
499
- "type": "uint256"
500
- }
501
- ],
502
- "name": "swapExactInputTokensForNative",
503
- "outputs": [
504
- {
505
- "internalType": "uint256",
506
- "name": "amountOut",
507
- "type": "uint256"
508
- },
509
- {
510
- "internalType": "uint256",
511
- "name": "amountInUsed",
512
- "type": "uint256"
513
- }
514
- ],
515
- "stateMutability": "nonpayable",
516
- "type": "function"
517
- },
518
- {
519
- "inputs": [
520
- {
521
- "internalType": "address",
522
- "name": "pool",
523
- "type": "address"
524
- },
525
- {
526
- "internalType": "address",
527
- "name": "recipient",
528
- "type": "address"
529
- },
530
- {
531
- "internalType": "bool",
532
- "name": "zeroForOne",
533
- "type": "bool"
534
- },
535
- {
536
- "internalType": "uint128",
537
- "name": "amountOutDesired",
538
- "type": "uint128"
539
- },
540
- {
541
- "internalType": "uint128",
542
- "name": "priceLimitX64",
543
- "type": "uint128"
544
- },
545
- {
546
- "internalType": "uint256",
547
- "name": "maxAmountIn",
548
- "type": "uint256"
549
- },
550
- {
551
- "internalType": "uint256",
552
- "name": "deadline",
553
- "type": "uint256"
554
- }
555
- ],
556
- "name": "swapExactOutput",
557
- "outputs": [
558
- {
559
- "internalType": "uint256",
560
- "name": "amountOut",
561
- "type": "uint256"
562
- },
563
- {
564
- "internalType": "uint256",
565
- "name": "amountInUsed",
566
- "type": "uint256"
567
- }
568
- ],
569
- "stateMutability": "payable",
570
- "type": "function"
571
- },
572
- {
573
- "inputs": [
574
- {
575
- "internalType": "address",
576
- "name": "pool",
577
- "type": "address"
578
- },
579
- {
580
- "internalType": "address",
581
- "name": "recipient",
582
- "type": "address"
583
- },
584
- {
585
- "internalType": "bool",
586
- "name": "zeroForOne",
587
- "type": "bool"
588
- },
589
- {
590
- "internalType": "uint128",
591
- "name": "amountOutDesired",
592
- "type": "uint128"
593
- },
594
- {
595
- "internalType": "uint128",
596
- "name": "priceLimitX64",
597
- "type": "uint128"
598
- },
599
- {
600
- "internalType": "uint256",
601
- "name": "maxAmountIn",
602
- "type": "uint256"
603
- },
604
- {
605
- "internalType": "uint256",
606
- "name": "deadline",
607
- "type": "uint256"
608
- }
609
- ],
610
- "name": "swapExactOutputNativeForTokens",
611
- "outputs": [
612
- {
613
- "internalType": "uint256",
614
- "name": "amountOut",
615
- "type": "uint256"
616
- },
617
- {
618
- "internalType": "uint256",
619
- "name": "amountInUsed",
620
- "type": "uint256"
621
- }
622
- ],
623
- "stateMutability": "payable",
624
- "type": "function"
625
- },
626
- {
627
- "inputs": [
628
- {
629
- "internalType": "address",
630
- "name": "pool",
631
- "type": "address"
632
- },
633
- {
634
- "internalType": "address",
635
- "name": "recipient",
636
- "type": "address"
637
- },
638
- {
639
- "internalType": "bool",
640
- "name": "zeroForOne",
641
- "type": "bool"
642
- },
643
- {
644
- "internalType": "uint128",
645
- "name": "amountOutDesired",
646
- "type": "uint128"
647
- },
648
- {
649
- "internalType": "uint128",
650
- "name": "priceLimitX64",
651
- "type": "uint128"
652
- },
653
- {
654
- "internalType": "uint256",
655
- "name": "maxAmountIn",
656
- "type": "uint256"
657
- },
658
- {
659
- "internalType": "uint256",
660
- "name": "deadline",
661
- "type": "uint256"
662
- }
663
- ],
664
- "name": "swapExactOutputTokensForNative",
665
- "outputs": [
666
- {
667
- "internalType": "uint256",
668
- "name": "amountOut",
669
- "type": "uint256"
670
- },
671
- {
672
- "internalType": "uint256",
673
- "name": "amountInUsed",
674
- "type": "uint256"
675
- }
676
- ],
677
- "stateMutability": "nonpayable",
678
- "type": "function"
679
- },
680
- {
681
- "stateMutability": "payable",
682
- "type": "receive"
683
55
  }
684
56
  ]
@@ -48,6 +48,8 @@ class BalancerV3EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
48
48
  'function convertToAssets(uint256 shares) external view returns (uint256 assets)',
49
49
  'function maxDeposit(address receiver) external view returns (uint256 maxAssets)',
50
50
  'function maxMint(address receiver) external view returns (uint256 maxShares)',
51
+ 'function maxWithdraw(address owner) external view returns (uint256 maxAssets)',
52
+ 'function maxRedeem(address owner) external view returns (uint256 maxShares)',
51
53
  ]),
52
54
  ['QUANT_AMM_WEIGHTED']: new abi_1.Interface([
53
55
  'function getQuantAMMWeightedPoolDynamicData() external view returns (tuple(uint256[] balancesLiveScaled18, uint256[] tokenRates, uint256 totalSupply, bool isPoolInitialized, bool isPoolPaused, bool isPoolInRecoveryMode, int256[] firstFourWeightsAndMultipliers, int256[] secondFourWeightsAndMultipliers, uint40 lastUpdateTime, uint40 lastInteropTime) data)',
@@ -353,6 +355,25 @@ class BalancerV3EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
353
355
  step.poolState.currentTimestamp =
354
356
  BigInt(timestamp);
355
357
  }
358
+ // ERC4626 unwrap: the underlying balancer-maths BufferState only
359
+ // enforces maxDeposit/maxMint for wraps. On-chain, the Vault will call
360
+ // withdraw/redeem on the wrapper which reverts against maxWithdraw /
361
+ // maxRedeem(vault). Check those ourselves so we return a 0 price
362
+ // instead of producing a quote that would revert on execution.
363
+ if (step.isBuffer && step.poolState.poolType === 'Buffer') {
364
+ const buffer = step.poolState;
365
+ const isUnwrap = step.swapInput.tokenIn.toLowerCase() ===
366
+ buffer.poolAddress.toLowerCase();
367
+ if (isUnwrap) {
368
+ // GivenIn → amount is shares (redeem); GivenOut → amount is assets (withdraw)
369
+ const limit = swapKind === balancer_maths_1.SwapKind.GivenIn
370
+ ? buffer.maxRedeem
371
+ : buffer.maxWithdraw;
372
+ if (amount > limit) {
373
+ return 0n;
374
+ }
375
+ }
376
+ }
356
377
  // try/catch as the swap can fail for e.g. wrapAmountTooSmall, etc
357
378
  try {
358
379
  outputAmountRaw = this.vault.swap({
@@ -389,18 +410,20 @@ class BalancerV3EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
389
410
  // Fetch onchain pool rates
390
411
  const poolRates = await this.getPoolRates(poolState);
391
412
  // Update each pools rate
392
- poolRates.forEach(({ poolAddress, tokenRates, erc4626Rates, erc4626MaxDeposit, erc4626MaxMint, }, i) => {
413
+ poolRates.forEach(({ poolAddress, tokenRates, erc4626Rates, erc4626MaxDeposit, erc4626MaxMint, erc4626MaxWithdraw, erc4626MaxRedeem, }, i) => {
393
414
  poolState[poolAddress].tokenRates = tokenRates;
394
415
  poolState[poolAddress].erc4626Rates = erc4626Rates;
395
416
  poolState[poolAddress].erc4626MaxDeposit = erc4626MaxDeposit;
396
417
  poolState[poolAddress].erc4626MaxMint = erc4626MaxMint;
418
+ poolState[poolAddress].erc4626MaxWithdraw = erc4626MaxWithdraw;
419
+ poolState[poolAddress].erc4626MaxRedeem = erc4626MaxRedeem;
397
420
  });
398
421
  // Update state
399
422
  const blockNumber = this.dexHelper.blockManager.getLatestBlockNumber();
400
423
  this.setState(poolState, blockNumber);
401
424
  }
402
425
  async getPoolRates(poolState) {
403
- const erc4626MultiCallData = (0, getOnChainState_1.getErc4626MultiCallData)(this.interfaces['ERC4626'], poolState);
426
+ const erc4626MultiCallData = (0, getOnChainState_1.getErc4626MultiCallData)(this.interfaces['ERC4626'], poolState, config_1.BalancerV3Config.BalancerV3[this.network].vaultAddress);
404
427
  const poolAddresses = Object.keys(poolState);
405
428
  // For each pool make the getPoolTokenRates call
406
429
  const poolsMultiCallData = poolAddresses.map(address => {
@@ -438,6 +461,16 @@ class BalancerV3EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
438
461
  return null;
439
462
  return tokensWithRates[t].maxMint;
440
463
  }),
464
+ erc4626MaxWithdraw: poolState[address].tokens.map(t => {
465
+ if (!tokensWithRates[t])
466
+ return null;
467
+ return tokensWithRates[t].maxWithdraw;
468
+ }),
469
+ erc4626MaxRedeem: poolState[address].tokens.map(t => {
470
+ if (!tokensWithRates[t])
471
+ return null;
472
+ return tokensWithRates[t].maxRedeem;
473
+ }),
441
474
  };
442
475
  });
443
476
  }
@@ -457,6 +490,8 @@ class BalancerV3EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
457
490
  rate: poolState.tokenRates[tokenIndex],
458
491
  maxDeposit: 0n, // N/A As non-erc4626
459
492
  maxMint: 0n,
493
+ maxWithdraw: 0n,
494
+ maxRedeem: 0n,
460
495
  };
461
496
  }
462
497
  // Check in underlying tokens if available
@@ -475,6 +510,8 @@ class BalancerV3EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
475
510
  rate: poolState.erc4626Rates[tokenIndex],
476
511
  maxDeposit: poolState.erc4626MaxDeposit[tokenIndex],
477
512
  maxMint: poolState.erc4626MaxMint[tokenIndex],
513
+ maxWithdraw: poolState.erc4626MaxWithdraw[tokenIndex],
514
+ maxRedeem: poolState.erc4626MaxRedeem[tokenIndex],
478
515
  };
479
516
  }
480
517
  }
@@ -557,6 +594,8 @@ class BalancerV3EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
557
594
  tokens: [token.mainToken, token.underlyingToken], // staticToken & underlying
558
595
  maxDeposit: token.maxDeposit,
559
596
  maxMint: token.maxMint,
597
+ maxWithdraw: token.maxWithdraw,
598
+ maxRedeem: token.maxRedeem,
560
599
  },
561
600
  };
562
601
  }
@@ -564,6 +603,17 @@ class BalancerV3EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
564
603
  if (!token.underlyingToken)
565
604
  throw new Error(`Buffer unwrap: token has no underlying. ${token.mainToken}`);
566
605
  // Vault expects pool to be the ERC4626 wrapped token, e.g. aUSDC
606
+ const poolState = {
607
+ poolType: 'Buffer',
608
+ // TODO: for ERC4626 fetch the wrap/unwrap rate
609
+ rate: token.rate,
610
+ poolAddress: token.mainToken,
611
+ tokens: [token.mainToken, token.underlyingToken], // staticToken & underlying
612
+ maxDeposit: token.maxDeposit,
613
+ maxMint: token.maxMint,
614
+ maxWithdraw: token.maxWithdraw,
615
+ maxRedeem: token.maxRedeem,
616
+ };
567
617
  return {
568
618
  pool: token.mainToken,
569
619
  isBuffer: true,
@@ -571,15 +621,7 @@ class BalancerV3EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
571
621
  tokenIn: token.mainToken,
572
622
  tokenOut: token.underlyingToken,
573
623
  },
574
- poolState: {
575
- poolType: 'Buffer',
576
- // TODO: for ERC4626 fetch the wrap/unwrap rate
577
- rate: token.rate,
578
- poolAddress: token.mainToken,
579
- tokens: [token.mainToken, token.underlyingToken], // staticToken & underlying
580
- maxDeposit: token.maxDeposit,
581
- maxMint: token.maxMint,
582
- },
624
+ poolState,
583
625
  };
584
626
  }
585
627
  getSwapStep(pool, tokenIn, tokenOut) {
@@ -1 +1 @@
1
- {"version":3,"file":"balancer-v3-pool.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/balancer-v3-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balancer-v3-pool.js","sourceRoot":"","sources":["../../../src/dex/balancer-v3/balancer-v3-pool.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,14 @@ export declare function decodeThrowError(contractInterface: Interface, functionN
6
6
  success: boolean;
7
7
  returnData: any;
8
8
  }, poolAddress: string): Result;
9
- export declare function getErc4626MultiCallData(erc4626Interface: Interface, immutablePoolStateMap: ImmutablePoolStateMap): callData[];
9
+ export declare function getErc4626MultiCallData(erc4626Interface: Interface, immutablePoolStateMap: ImmutablePoolStateMap, vaultAddress: string): callData[];
10
10
  export declare function decodeErc4626MultiCallData(erc4626Interface: Interface, erc4626MultiCallData: callData[], dataResultErc4626: any[]): {
11
11
  [k: string]: {
12
12
  rate: bigint;
13
13
  maxDeposit: bigint;
14
14
  maxMint: bigint;
15
+ maxWithdraw: bigint;
16
+ maxRedeem: bigint;
15
17
  };
16
18
  };
17
19
  export declare function getOnChainState(network: number, immutablePoolStateMap: ImmutablePoolStateMap, dexHelper: IDexHelper, interfaces: {
@@ -190,10 +190,16 @@ function decodeThrowError(contractInterface, functionName, resultEntry, poolAddr
190
190
  throw new Error(`Failed to execute ${functionName} for ${poolAddress}`);
191
191
  return contractInterface.decodeFunctionResult(functionName, resultEntry.returnData);
192
192
  }
193
- function getErc4626MultiCallData(erc4626Interface, immutablePoolStateMap) {
193
+ // Number of ERC4626 calls per wrapper token in the multicall batch.
194
+ // Order: convertToAssets, maxDeposit, maxMint, maxWithdraw, maxRedeem.
195
+ const ERC4626_CALLS_PER_TOKEN = 5;
196
+ function getErc4626MultiCallData(erc4626Interface, immutablePoolStateMap, vaultAddress) {
194
197
  // We want to query rate for each unique ERC4626 token
195
198
  const uniqueErc4626Tokens = Array.from(new Set(Object.values(immutablePoolStateMap).flatMap(pool => pool.tokens.filter((_, index) => pool.tokensUnderlying[index] !== null))));
196
199
  // query result for 1e18 (this maintains correct scaling for different token decimals in maths)
200
+ // maxWithdraw/maxRedeem are queried with the Vault as owner since the Vault
201
+ // is the party that calls withdraw/redeem when unwrapping via buffers, and
202
+ // ERC4626 caps those calls against the owner's position.
197
203
  const erc4626MultiCallData = uniqueErc4626Tokens.flatMap(token => {
198
204
  return [
199
205
  {
@@ -214,18 +220,31 @@ function getErc4626MultiCallData(erc4626Interface, immutablePoolStateMap) {
214
220
  '0x0000000000000000000000000000000000000000',
215
221
  ]),
216
222
  },
223
+ {
224
+ target: token,
225
+ callData: erc4626Interface.encodeFunctionData('maxWithdraw', [
226
+ vaultAddress,
227
+ ]),
228
+ },
229
+ {
230
+ target: token,
231
+ callData: erc4626Interface.encodeFunctionData('maxRedeem', [
232
+ vaultAddress,
233
+ ]),
234
+ },
217
235
  ];
218
236
  });
219
237
  return erc4626MultiCallData;
220
238
  }
221
239
  function decodeErc4626MultiCallData(erc4626Interface, erc4626MultiCallData, dataResultErc4626) {
222
- // We only need to process third of the erc4626MultiCallData entries
223
- // since each entry corresponds to three results
224
- const thirdLength = Math.floor(erc4626MultiCallData.length / 3);
225
- return Object.fromEntries(Array.from({ length: thirdLength }).map((_, i) => {
226
- const rateIndex = i * 3;
227
- const maxDepositIndex = i * 3 + 1;
228
- const maxMintIndex = i * 3 + 2;
240
+ const tokenCount = Math.floor(erc4626MultiCallData.length / ERC4626_CALLS_PER_TOKEN);
241
+ return Object.fromEntries(Array.from({ length: tokenCount }).map((_, i) => {
242
+ const base = i * ERC4626_CALLS_PER_TOKEN;
243
+ const rateIndex = base;
244
+ const maxDepositIndex = base + 1;
245
+ const maxMintIndex = base + 2;
246
+ const maxWithdrawIndex = base + 3;
247
+ const maxRedeemIndex = base + 4;
229
248
  const multiCallData = erc4626MultiCallData[rateIndex];
230
249
  // Decode convertToAssets
231
250
  const rate = decodeThrowError(erc4626Interface, 'convertToAssets', dataResultErc4626[rateIndex], multiCallData.target);
@@ -239,19 +258,29 @@ function decodeErc4626MultiCallData(erc4626Interface, erc4626MultiCallData, data
239
258
  const maxMint = decodeThrowError(erc4626Interface, 'maxMint', dataResultErc4626[maxMintIndex], multiCallData.target);
240
259
  if (!maxMint)
241
260
  throw new Error(`Failed to get result for maxMint for ${multiCallData.target}`);
261
+ // Decode maxWithdraw
262
+ const maxWithdraw = decodeThrowError(erc4626Interface, 'maxWithdraw', dataResultErc4626[maxWithdrawIndex], multiCallData.target);
263
+ if (!maxWithdraw)
264
+ throw new Error(`Failed to get result for maxWithdraw for ${multiCallData.target}`);
265
+ // Decode maxRedeem
266
+ const maxRedeem = decodeThrowError(erc4626Interface, 'maxRedeem', dataResultErc4626[maxRedeemIndex], multiCallData.target);
267
+ if (!maxRedeem)
268
+ throw new Error(`Failed to get result for maxRedeem for ${multiCallData.target}`);
242
269
  return [
243
270
  multiCallData.target,
244
271
  {
245
272
  rate: BigInt(rate[0]),
246
273
  maxDeposit: BigInt(maxDeposit[0]),
247
274
  maxMint: BigInt(maxMint[0]),
275
+ maxWithdraw: BigInt(maxWithdraw[0]),
276
+ maxRedeem: BigInt(maxRedeem[0]),
248
277
  },
249
278
  ];
250
279
  }));
251
280
  }
252
281
  // Any data from API will be immutable. Mutable data such as balances, etc will be fetched via onchain/event state.
253
282
  async function getOnChainState(network, immutablePoolStateMap, dexHelper, interfaces, blockNumber, logger) {
254
- const erc4626MultiCallData = getErc4626MultiCallData(interfaces['ERC4626'], immutablePoolStateMap);
283
+ const erc4626MultiCallData = getErc4626MultiCallData(interfaces['ERC4626'], immutablePoolStateMap, config_1.BalancerV3Config.BalancerV3[network].vaultAddress);
255
284
  // query pool specific onchain data, e.g. totalSupply, etc
256
285
  const poolsMultiCallData = Object.entries(immutablePoolStateMap)
257
286
  .map(([address, pool]) => {
@@ -299,6 +328,16 @@ async function getOnChainState(network, immutablePoolStateMap, dexHelper, interf
299
328
  return null;
300
329
  return tokensWithRates[t].maxMint;
301
330
  }),
331
+ erc4626MaxWithdraw: pool.tokens.map(t => {
332
+ if (!tokensWithRates[t])
333
+ return null;
334
+ return tokensWithRates[t].maxWithdraw;
335
+ }),
336
+ erc4626MaxRedeem: pool.tokens.map(t => {
337
+ if (!tokensWithRates[t])
338
+ return null;
339
+ return tokensWithRates[t].maxRedeem;
340
+ }),
302
341
  },
303
342
  ];
304
343
  }
@@ -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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"}
@@ -23,6 +23,8 @@ export interface CommonMutableState {
23
23
  erc4626Rates: (bigint | null)[];
24
24
  erc4626MaxDeposit: (bigint | null)[];
25
25
  erc4626MaxMint: (bigint | null)[];
26
+ erc4626MaxWithdraw: (bigint | null)[];
27
+ erc4626MaxRedeem: (bigint | null)[];
26
28
  balancesLiveScaled18: bigint[];
27
29
  swapFee: bigint;
28
30
  aggregateSwapFee: bigint;
@@ -46,6 +48,10 @@ export type PoolStateMap = {
46
48
  export type ImmutablePoolStateMap = {
47
49
  [address: string]: CommonImmutablePoolState;
48
50
  };
51
+ export type BufferStateExt = BufferState & {
52
+ maxWithdraw: bigint;
53
+ maxRedeem: bigint;
54
+ };
49
55
  export type Step = {
50
56
  pool: Address;
51
57
  isBuffer: boolean;
@@ -53,7 +59,7 @@ export type Step = {
53
59
  tokenIn: Address;
54
60
  tokenOut: Address;
55
61
  };
56
- poolState: PoolState | BufferState;
62
+ poolState: PoolState | BufferStateExt;
57
63
  };
58
64
  export type BalancerV3Data = {
59
65
  steps: Step[];
@@ -74,4 +80,6 @@ export type TokenInfo = {
74
80
  rate: bigint;
75
81
  maxDeposit: bigint;
76
82
  maxMint: bigint;
83
+ maxWithdraw: bigint;
84
+ maxRedeem: bigint;
77
85
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "4.8.36-metric.0",
3
+ "version": "4.8.37-balancer-v3-buffer-limits.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",