curvance 3.2.5 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/abis/ProtocolReader.json +20 -10
  2. package/dist/chains/index.d.ts +20 -0
  3. package/dist/chains/index.d.ts.map +1 -1
  4. package/dist/chains/monad-mainnet.json +11 -1
  5. package/dist/classes/BorrowableCToken.d.ts.map +1 -1
  6. package/dist/classes/BorrowableCToken.js +11 -11
  7. package/dist/classes/BorrowableCToken.js.map +1 -1
  8. package/dist/classes/CToken.d.ts +11 -7
  9. package/dist/classes/CToken.d.ts.map +1 -1
  10. package/dist/classes/CToken.js +74 -87
  11. package/dist/classes/CToken.js.map +1 -1
  12. package/dist/classes/DexAggregators/KyberSwap.d.ts +2 -2
  13. package/dist/classes/DexAggregators/KyberSwap.d.ts.map +1 -1
  14. package/dist/classes/DexAggregators/KyberSwap.js +6 -10
  15. package/dist/classes/DexAggregators/KyberSwap.js.map +1 -1
  16. package/dist/classes/ERC4626.d.ts +2 -0
  17. package/dist/classes/ERC4626.d.ts.map +1 -1
  18. package/dist/classes/ERC4626.js +4 -0
  19. package/dist/classes/ERC4626.js.map +1 -1
  20. package/dist/classes/FormatConverter.d.ts +99 -0
  21. package/dist/classes/FormatConverter.d.ts.map +1 -0
  22. package/dist/classes/FormatConverter.js +151 -0
  23. package/dist/classes/FormatConverter.js.map +1 -0
  24. package/dist/classes/Market.d.ts +1 -1
  25. package/dist/classes/Market.d.ts.map +1 -1
  26. package/dist/classes/Market.js +7 -7
  27. package/dist/classes/Market.js.map +1 -1
  28. package/dist/classes/PositionManager.d.ts.map +1 -1
  29. package/dist/classes/PositionManager.js +3 -2
  30. package/dist/classes/PositionManager.js.map +1 -1
  31. package/dist/classes/ProtocolReader.d.ts +3 -2
  32. package/dist/classes/ProtocolReader.d.ts.map +1 -1
  33. package/dist/classes/ProtocolReader.js +4 -2
  34. package/dist/classes/ProtocolReader.js.map +1 -1
  35. package/dist/helpers.d.ts +10 -0
  36. package/dist/helpers.d.ts.map +1 -1
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +1 -1
  40. package/dist/index.js.map +1 -1
  41. package/package.json +3 -2
@@ -16,6 +16,7 @@ const setup_1 = require("../setup");
16
16
  const PositionManager_1 = require("./PositionManager");
17
17
  const NativeToken_1 = require("./NativeToken");
18
18
  const ERC4626_1 = require("./ERC4626");
19
+ const FormatConverter_1 = __importDefault(require("./FormatConverter"));
19
20
  class CToken extends Calldata_1.Calldata {
20
21
  provider;
21
22
  address;
@@ -39,6 +40,10 @@ class CToken extends Calldata_1.Calldata {
39
40
  this.isNativeVault = chain_config.native_vaults.some(vault => vault.contract == this.asset.address);
40
41
  this.isVault = chain_config.vaults.some(vault => vault.contract == this.asset.address);
41
42
  this.isWrappedNative = chain_config.wrapped_native == this.asset.address;
43
+ // TODO: Remove this, as a temporary disable for sAUSD
44
+ if (this.symbol == 'csAUSD') {
45
+ return;
46
+ }
42
47
  if (this.isNativeVault)
43
48
  this.zapTypes.push('native-vault');
44
49
  if ("nativeVaultPositionManager" in this.market.plugins && this.isNativeVault)
@@ -67,11 +72,19 @@ class CToken extends Calldata_1.Calldata {
67
72
  get canZap() { return this.zapTypes.length > 0; }
68
73
  get maxLeverage() { return (0, decimal_js_1.default)(this.cache.maxLeverage / helpers_1.BPS); }
69
74
  get canLeverage() { return this.leverageTypes.length > 0; }
75
+ get totalAssets() { return this.cache.totalAssets; }
76
+ get totalSupply() { return this.cache.totalSupply; }
70
77
  get liquidationPrice() {
71
78
  if (this.cache.liquidationPrice == helpers_1.UINT256_MAX)
72
79
  return null;
73
80
  return (0, helpers_1.toDecimal)(this.cache.liquidationPrice, 18n);
74
81
  }
82
+ virtualConvertToAssets(shares) {
83
+ return (shares * this.totalAssets) / this.totalSupply;
84
+ }
85
+ virtualConvertToShares(assets) {
86
+ return (assets * this.totalSupply) / this.totalAssets;
87
+ }
75
88
  getLeverage() {
76
89
  if (this.getUserCollateral(true).equals(0)) {
77
90
  return null;
@@ -142,7 +155,7 @@ class CToken extends Calldata_1.Calldata {
142
155
  return inUSD ? this.convertTokensToUsd(this.cache.debt) : this.cache.debt;
143
156
  }
144
157
  getUserCollateral(inUSD) {
145
- return inUSD ? this.convertTokensToUsd(this.cache.userCollateral, false) : this.convertBigInt(this.cache.userCollateral, true);
158
+ return inUSD ? this.convertTokensToUsd(this.cache.userCollateral, false) : FormatConverter_1.default.bigIntToDecimal(this.cache.userCollateral, this.decimals);
146
159
  }
147
160
  async fetchUserCollateral(formatted = false) {
148
161
  const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
@@ -194,7 +207,7 @@ class CToken extends Calldata_1.Calldata {
194
207
  return inUSD ? this.convertTokensToUsd(tvl) : tvl;
195
208
  }
196
209
  async fetchTvl(inUSD = true) {
197
- const tvl = await this.totalSupply();
210
+ const tvl = await this.fetchTotalSupply();
198
211
  this.cache.totalSupply = tvl;
199
212
  return inUSD ? this.getTvl(true) : this.getTvl(false);
200
213
  }
@@ -349,10 +362,10 @@ class CToken extends Calldata_1.Calldata {
349
362
  }
350
363
  return price;
351
364
  }
352
- async totalSupply() {
365
+ async fetchTotalSupply() {
353
366
  return this.contract.totalSupply();
354
367
  }
355
- async totalAssets() {
368
+ async fetchTotalAssets() {
356
369
  return this.contract.totalAssets();
357
370
  }
358
371
  async getExchangeRate() {
@@ -370,22 +383,20 @@ class CToken extends Calldata_1.Calldata {
370
383
  return this.contract.maxDeposit(receiver);
371
384
  }
372
385
  async transfer(receiver, amount) {
373
- const shares = this.convertTokenInput(amount, true, true);
386
+ const shares = this.convertTokenInputToShares(amount);
374
387
  return this.contract.transfer(receiver, shares);
375
388
  }
376
389
  async redeemCollateral(amount, receiver = null, owner = null) {
377
390
  const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
378
- if (receiver == null)
379
- receiver = signer.address;
380
- if (owner == null)
381
- owner = signer.address;
382
- const shares = this.convertTokenInput(amount, true, true);
391
+ receiver ??= signer.address;
392
+ owner ??= signer.address;
393
+ const shares = this.convertTokenInputToShares(amount);
383
394
  const calldata = this.getCallData("redeemCollateral", [shares, receiver, owner]);
384
395
  return this.oracleRoute(calldata);
385
396
  }
386
397
  async postCollateral(amount) {
387
398
  const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
388
- const shares = this.convertTokenInput(amount, true, true);
399
+ const shares = this.convertTokenInputToShares(amount);
389
400
  const balance = await this.balanceOf(signer.address);
390
401
  const collateral = await this.fetchUserCollateral();
391
402
  const available_shares = balance - collateral;
@@ -429,17 +440,18 @@ class CToken extends Calldata_1.Calldata {
429
440
  // TODO: Hack to remove
430
441
  async ensureUnderlyingAmount(amount, zap) {
431
442
  const balance = await this.getZapBalance(zap);
432
- if (this.convertTokenInput(amount) > balance) {
443
+ const assets = FormatConverter_1.default.decimalToBigInt(amount, this.asset.decimals);
444
+ if (assets > balance) {
433
445
  console.warn('[WARNING] Detected higher deposit amount then underlying balance, changing to the underlying balance. Diff: ', {
434
- raw: this.convertTokenInput(amount) - balance,
435
- formatted: this.convertBigInt(this.convertTokenInput(amount) - balance)
446
+ raw: assets - balance,
447
+ formatted: FormatConverter_1.default.bigIntToDecimal(assets - balance, this.asset.decimals)
436
448
  });
437
- return this.convertBigInt(balance);
449
+ return FormatConverter_1.default.bigIntToDecimal(balance, this.asset.decimals);
438
450
  }
439
451
  return amount;
440
452
  }
441
453
  async removeCollateral(amount) {
442
- const shares = this.convertTokenInput(amount, true, true);
454
+ const shares = this.convertTokenInputToShares(amount);
443
455
  const current_shares = await this.fetchUserCollateral();
444
456
  const max_shares = current_shares < shares ? current_shares : shares;
445
457
  const calldata = this.getCallData("removeCollateral", [max_shares]);
@@ -448,8 +460,8 @@ class CToken extends Calldata_1.Calldata {
448
460
  await this.fetchUserCollateral();
449
461
  return tx;
450
462
  }
451
- async convertToAssets(shares) {
452
- return this.contract.convertToAssets(shares);
463
+ convertTokenInputToShares(amount) {
464
+ return this.virtualConvertToShares(FormatConverter_1.default.decimalToBigInt(amount, this.asset.decimals));
453
465
  }
454
466
  async convertToShares(assets) {
455
467
  return this.contract.convertToShares(assets);
@@ -463,18 +475,8 @@ class CToken extends Calldata_1.Calldata {
463
475
  const all_shares = data.maxCollateralizedShares + data.maxUncollateralizedShares;
464
476
  if (in_shares)
465
477
  return all_shares;
466
- const all_assets = await this.convertToAssets(all_shares);
467
- return this.convertBigInt(all_assets, true);
468
- }
469
- convertBigInt(amount, inShares = false, use_exchange_rate = false) {
470
- const decimals = inShares ? this.decimals : this.asset.decimals;
471
- const raw_amount = use_exchange_rate ? (amount * this.exchangeRate) / helpers_1.WAD : amount;
472
- return (0, helpers_1.toDecimal)(raw_amount, decimals);
473
- }
474
- convertTokenInput(amount, inShares = false, use_exchange_rate = false) {
475
- const decimals = inShares ? this.decimals : this.asset.decimals;
476
- const newAmount = (0, helpers_1.toBigInt)(amount, decimals);
477
- return use_exchange_rate ? (newAmount * this.exchangeRate) / helpers_1.WAD : newAmount;
478
+ const all_assets = this.virtualConvertToAssets(all_shares);
479
+ return FormatConverter_1.default.bigIntToDecimal(all_assets, this.asset.decimals);
478
480
  }
479
481
  /** @returns A list of tokens mapped to their respective zap options */
480
482
  async getDepositTokens(search = null) {
@@ -489,8 +491,7 @@ class CToken extends Calldata_1.Calldata {
489
491
  interface: new NativeToken_1.NativeToken(setup_1.setup_config.chain, this.provider),
490
492
  type: 'native-vault'
491
493
  });
492
- tokens_exclude.push(helpers_1.EMPTY_ADDRESS);
493
- tokens_exclude.push(helpers_1.NATIVE_ADDRESS);
494
+ tokens_exclude.push(helpers_1.EMPTY_ADDRESS, helpers_1.NATIVE_ADDRESS);
494
495
  }
495
496
  if (this.zapTypes.includes('native-simple')) {
496
497
  tokens.push({
@@ -498,8 +499,7 @@ class CToken extends Calldata_1.Calldata {
498
499
  type: 'native-simple'
499
500
  });
500
501
  if (!this.zapTypes.includes('native-vault')) {
501
- tokens_exclude.push(helpers_1.EMPTY_ADDRESS);
502
- tokens_exclude.push(helpers_1.NATIVE_ADDRESS);
502
+ tokens_exclude.push(helpers_1.EMPTY_ADDRESS, helpers_1.NATIVE_ADDRESS);
503
503
  }
504
504
  }
505
505
  if (this.zapTypes.includes('vault')) {
@@ -518,7 +518,7 @@ class CToken extends Calldata_1.Calldata {
518
518
  }
519
519
  async hypotheticalRedemptionOf(amount) {
520
520
  const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
521
- const shares = this.convertTokenInput(amount, true, true);
521
+ const shares = this.convertTokenInputToShares(amount);
522
522
  return this.market.reader.hypotheticalRedemptionOf(signer.address, this, shares);
523
523
  }
524
524
  previewLeverageUp(newLeverage, borrow, depositAmount) {
@@ -546,44 +546,34 @@ class CToken extends Calldata_1.Calldata {
546
546
  return { collateralAssetReduction, leverageDiff };
547
547
  }
548
548
  async leverageUp(borrow, newLeverage, type, slippage_ = (0, decimal_js_1.default)(0.005)) {
549
- const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
550
- const slippage = (0, helpers_1.toBps)(slippage_);
549
+ (0, helpers_1.validateProviderAsSigner)(this.provider);
550
+ const slippage = FormatConverter_1.default.percentageToBps(slippage_);
551
551
  const manager = this.getPositionManager(type);
552
552
  let calldata;
553
553
  const { borrowAmount } = this.previewLeverageUp(newLeverage, borrow);
554
554
  switch (type) {
555
555
  case 'simple': {
556
- const { action, quote } = await setup_1.chain_config[setup_1.setup_config.chain].dexAgg.quoteAction(manager.address, borrow.asset.address, this.asset.address, borrow.convertTokenInput(borrowAmount, false), slippage);
556
+ const { action, quote } = await setup_1.chain_config[setup_1.setup_config.chain].dexAgg.quoteAction(manager.address, borrow.asset.address, this.asset.address, FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals), slippage);
557
557
  calldata = manager.getLeverageCalldata({
558
558
  borrowableCToken: borrow.address,
559
- borrowAssets: borrow.convertTokenInput(borrowAmount),
559
+ borrowAssets: FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals),
560
560
  cToken: this.address,
561
561
  expectedShares: BigInt(quote.min_out),
562
562
  swapAction: action,
563
563
  auxData: "0x",
564
- }, (0, helpers_1.fromBpsToWad)(slippage));
564
+ }, FormatConverter_1.default.bpsToBpsWad(slippage));
565
565
  break;
566
566
  }
567
+ case 'native-vault':
567
568
  case 'vault': {
568
569
  calldata = manager.getLeverageCalldata({
569
570
  borrowableCToken: borrow.address,
570
- borrowAssets: borrow.convertTokenInput(borrowAmount),
571
- cToken: this.address,
572
- expectedShares: await PositionManager_1.PositionManager.getVaultExpectedShares(this, borrow, borrowAmount),
573
- swapAction: PositionManager_1.PositionManager.emptySwapAction(),
574
- auxData: "0x",
575
- }, (0, helpers_1.fromBpsToWad)(slippage));
576
- break;
577
- }
578
- case 'native-vault': {
579
- calldata = manager.getLeverageCalldata({
580
- borrowableCToken: borrow.address,
581
- borrowAssets: borrow.convertTokenInput(borrowAmount),
571
+ borrowAssets: FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals),
582
572
  cToken: this.address,
583
573
  expectedShares: await PositionManager_1.PositionManager.getVaultExpectedShares(this, borrow, borrowAmount),
584
574
  swapAction: PositionManager_1.PositionManager.emptySwapAction(),
585
575
  auxData: "0x",
586
- }, (0, helpers_1.fromBpsToWad)(slippage));
576
+ }, FormatConverter_1.default.bpsToBpsWad(slippage));
587
577
  break;
588
578
  }
589
579
  default: throw new Error("Unsupported position manager type");
@@ -614,7 +604,7 @@ class CToken extends Calldata_1.Calldata {
614
604
  repayAssets: BigInt(minRepay),
615
605
  swapActions: [action],
616
606
  auxData: "0x",
617
- }, (0, helpers_1.fromBpsToWad)(slippage));
607
+ }, FormatConverter_1.default.bpsToBpsWad(slippage));
618
608
  break;
619
609
  }
620
610
  default: throw new Error("Unsupported position manager type");
@@ -626,49 +616,38 @@ class CToken extends Calldata_1.Calldata {
626
616
  }
627
617
  async depositAndLeverage(depositAmount, borrow, leverageTarget, type, slippage_ = (0, decimal_js_1.default)(0.005)) {
628
618
  depositAmount = await this.ensureUnderlyingAmount(depositAmount, 'none');
629
- const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
630
619
  const slippage = (0, helpers_1.toBps)(slippage_);
631
620
  const manager = this.getPositionManager(type);
632
621
  let calldata;
633
- const { borrowAmount } = this.previewLeverageUp(leverageTarget, borrow, this.convertTokenInput(depositAmount, true, true));
622
+ const { borrowAmount } = this.previewLeverageUp(leverageTarget, borrow, this.convertTokenInputToShares(depositAmount));
634
623
  switch (type) {
635
624
  case 'simple': {
636
- const { action, quote } = await setup_1.chain_config[setup_1.setup_config.chain].dexAgg.quoteAction(manager.address, borrow.asset.address, this.asset.address, borrow.convertTokenInput(borrowAmount), slippage);
637
- calldata = manager.getDepositAndLeverageCalldata(this.convertTokenInput(depositAmount), {
625
+ const { action, quote } = await setup_1.chain_config[setup_1.setup_config.chain].dexAgg.quoteAction(manager.address, borrow.asset.address, this.asset.address, FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals), slippage);
626
+ calldata = manager.getDepositAndLeverageCalldata(FormatConverter_1.default.decimalToBigInt(depositAmount, this.asset.decimals), {
638
627
  borrowableCToken: borrow.address,
639
- borrowAssets: borrow.convertTokenInput(borrowAmount),
628
+ borrowAssets: FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals),
640
629
  cToken: this.address,
641
630
  expectedShares: await PositionManager_1.PositionManager.getExpectedShares(this, BigInt(quote.min_out)),
642
631
  swapAction: action,
643
632
  auxData: "0x",
644
- }, (0, helpers_1.fromBpsToWad)(slippage));
633
+ }, FormatConverter_1.default.bpsToBpsWad(slippage));
645
634
  break;
646
635
  }
636
+ case 'native-vault':
647
637
  case 'vault': {
648
- calldata = manager.getDepositAndLeverageCalldata(this.convertTokenInput(depositAmount), {
649
- borrowableCToken: borrow.address,
650
- borrowAssets: borrow.convertTokenInput(borrowAmount),
651
- cToken: this.address,
652
- expectedShares: await PositionManager_1.PositionManager.getVaultExpectedShares(this, borrow, borrowAmount),
653
- swapAction: PositionManager_1.PositionManager.emptySwapAction(),
654
- auxData: "0x",
655
- }, (0, helpers_1.fromBpsToWad)(slippage));
656
- break;
657
- }
658
- case 'native-vault': {
659
- calldata = manager.getDepositAndLeverageCalldata(this.convertTokenInput(depositAmount), {
638
+ calldata = manager.getDepositAndLeverageCalldata(FormatConverter_1.default.decimalToBigInt(depositAmount, this.asset.decimals), {
660
639
  borrowableCToken: borrow.address,
661
- borrowAssets: borrow.convertTokenInput(borrowAmount),
640
+ borrowAssets: FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals),
662
641
  cToken: this.address,
663
642
  expectedShares: await PositionManager_1.PositionManager.getVaultExpectedShares(this, borrow, borrowAmount),
664
643
  swapAction: PositionManager_1.PositionManager.emptySwapAction(),
665
644
  auxData: "0x",
666
- }, (0, helpers_1.fromBpsToWad)(slippage));
645
+ }, FormatConverter_1.default.bpsToBpsWad(slippage));
667
646
  break;
668
647
  }
669
648
  default: throw new Error("Unsupported position manager type");
670
649
  }
671
- await this._checkErc20Approval(this.asset.address, this.convertTokenInput(depositAmount), manager.address);
650
+ await this._checkErc20Approval(this.asset.address, FormatConverter_1.default.decimalToBigInt(depositAmount, this.asset.decimals), manager.address);
672
651
  await this._checkPositionManagerApproval(manager);
673
652
  return this.oracleRoute(calldata, {
674
653
  to: manager.address
@@ -715,16 +694,15 @@ class CToken extends Calldata_1.Calldata {
715
694
  calldata_overrides = { value: assets, to: zapper.address };
716
695
  break;
717
696
  default:
718
- throw new Error("This zap type is not supported: " + zap);
697
+ throw new Error("This zap type is not supported: " + type_of_zap);
719
698
  }
720
699
  return { calldata, calldata_overrides, zapper };
721
700
  }
722
701
  async deposit(amount, zap = 'none', receiver = null) {
723
702
  amount = await this.ensureUnderlyingAmount(amount, zap);
724
703
  const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
725
- if (receiver == null)
726
- receiver = signer.address;
727
- const assets = this.convertTokenInput(amount);
704
+ receiver ??= signer.address;
705
+ const assets = FormatConverter_1.default.decimalToBigInt(amount, this.asset.decimals);
728
706
  const zapType = typeof zap == 'object' ? zap.type : zap;
729
707
  const isNative = zapType == 'native-simple' || zapType == 'native-vault' || zapType == 'none';
730
708
  const default_calldata = this.getCallData("deposit", [assets, receiver]);
@@ -741,9 +719,8 @@ class CToken extends Calldata_1.Calldata {
741
719
  async depositAsCollateral(amount, zap = 'none', receiver = null) {
742
720
  amount = await this.ensureUnderlyingAmount(amount, zap);
743
721
  const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
744
- if (receiver == null)
745
- receiver = signer.address;
746
- const assets = this.convertTokenInput(amount);
722
+ receiver ??= signer.address;
723
+ const assets = FormatConverter_1.default.decimalToBigInt(amount, this.asset.decimals);
747
724
  const collateralCapError = "There is not enough collateral left in this tokens collateral cap for this deposit.";
748
725
  const remainingCollateral = this.getRemainingCollateral(false);
749
726
  if (remainingCollateral == 0n)
@@ -764,7 +741,7 @@ class CToken extends Calldata_1.Calldata {
764
741
  const receiver = signer.address;
765
742
  const owner = signer.address;
766
743
  const max_shares = await this.maxRedemption(true);
767
- const converted_shares = this.convertTokenInput(amount, true, true);
744
+ const converted_shares = this.convertTokenInputToShares(amount);
768
745
  const shares = max_shares < converted_shares ? max_shares : converted_shares;
769
746
  const calldata = this.getCallData("redeem", [shares, receiver, owner]);
770
747
  return this.oracleRoute(calldata);
@@ -794,6 +771,10 @@ class CToken extends Calldata_1.Calldata {
794
771
  debtBalance: BigInt(snapshot.debtBalance)
795
772
  };
796
773
  }
774
+ convertTokensToUsd(tokenAmount, asset = true) {
775
+ const price = this.getPrice(asset, false, false);
776
+ return FormatConverter_1.default.bigIntTokensToUsd(tokenAmount, price, this.decimals);
777
+ }
797
778
  async fetchConvertTokensToUsd(tokenAmount, asset = true) {
798
779
  // Reload cache
799
780
  await this.fetchPrice(asset);
@@ -804,10 +785,16 @@ class CToken extends Calldata_1.Calldata {
804
785
  const price = this.getPrice(asset, lower);
805
786
  return usdAmount.div(price);
806
787
  }
807
- convertTokensToUsd(tokenAmount, asset = true, use_exchange_rate = false) {
808
- const raw_amount = use_exchange_rate ? (tokenAmount * this.exchangeRate) / helpers_1.WAD : tokenAmount;
809
- const tokenAmountDecimal = (0, helpers_1.toDecimal)(raw_amount, asset ? this.asset.decimals : this.decimals);
810
- return this.getPrice(asset).mul(tokenAmountDecimal);
788
+ convertAssetsToUsd(tokenAmount) {
789
+ const price = this.getPrice(true, false, false);
790
+ const decimals = this.decimals;
791
+ return FormatConverter_1.default.bigIntTokensToUsd(tokenAmount, price, decimals);
792
+ }
793
+ async convertSharesToUsd(tokenAmount) {
794
+ tokenAmount = await this.convertToShares(tokenAmount);
795
+ const price = this.getPrice(false, false, false);
796
+ const decimals = this.decimals;
797
+ return FormatConverter_1.default.bigIntTokensToUsd(tokenAmount, price, decimals);
811
798
  }
812
799
  buildMultiCallAction(calldata) {
813
800
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"CToken.js","sourceRoot":"","sources":["../../src/classes/CToken.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CToken.js","sourceRoot":"","sources":["../../src/classes/CToken.ts"],"names":[],"mappings":"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"}
@@ -82,7 +82,7 @@ export declare class KyberSwap implements IDexAgg {
82
82
  quoteAction(wallet: string, tokenIn: string, tokenOut: string, amount: bigint, slippage: bigint): Promise<{
83
83
  action: Swap;
84
84
  quote: {
85
- to: address;
85
+ to: `0x${string}`;
86
86
  calldata: bytes;
87
87
  min_out: bigint;
88
88
  out: bigint;
@@ -91,7 +91,7 @@ export declare class KyberSwap implements IDexAgg {
91
91
  }>;
92
92
  quoteMin(wallet: string, tokenIn: string, tokenOut: string, amount: bigint, slippage: bigint): Promise<bigint>;
93
93
  quote(wallet: string, tokenIn: string, tokenOut: string, amount: bigint, slippage: bigint): Promise<{
94
- to: address;
94
+ to: `0x${string}`;
95
95
  calldata: bytes;
96
96
  min_out: bigint;
97
97
  out: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"KyberSwap.d.ts","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KyberSwap.d.ts","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.KyberSwap = void 0;
4
7
  const __1 = require("../..");
8
+ const FormatConverter_1 = __importDefault(require("../FormatConverter"));
5
9
  ;
6
10
  class KyberSwap {
7
11
  api;
@@ -37,7 +41,7 @@ class KyberSwap {
37
41
  const erc20in = new __1.ERC20(provider, tokenIn);
38
42
  const decimals = erc20in.decimals ?? await erc20in.contract.decimals();
39
43
  const amount_bigint = (0, __1.toBigInt)(amount, decimals);
40
- return await this.quote(signer.address, tokenIn, tokenOut, amount_bigint, (0, __1.toBps)(slippage));
44
+ return await this.quote(signer.address, tokenIn, tokenOut, amount_bigint, FormatConverter_1.default.percentageToBps(slippage));
41
45
  }
42
46
  });
43
47
  }
@@ -52,7 +56,7 @@ class KyberSwap {
52
56
  inputAmount: BigInt(amount),
53
57
  outputToken: tokenOut,
54
58
  target: quote.to,
55
- slippage: slippage ? (0, __1.fromBpsToWad)(slippage) : 0n,
59
+ slippage: slippage ? FormatConverter_1.default.bpsToBpsWad(slippage) : 0n,
56
60
  call: quote.calldata
57
61
  };
58
62
  return { action, quote };
@@ -107,14 +111,6 @@ class KyberSwap {
107
111
  if (build_data.data.routerAddress != this.router) {
108
112
  throw new Error(`KyberSwap returned unexpected router address: ${build_data.data.routerAddress}`);
109
113
  }
110
- // Check for excessive slippage by comparing USD values
111
- // const amountInUsd = parseFloat(build_data.data.amountInUsd);
112
- // const amountOutUsd = parseFloat(build_data.data.amountOutUsd);
113
- // const actualSlippageBps = Math.round((amountInUsd - amountOutUsd) / amountInUsd * 10000);
114
- // if (actualSlippageBps > Number(slippage)) {
115
- // console.log(build_data);
116
- // throw new Error(`Slippage exceeds maximum tolerance (${build_data.requestId}): actual ${(actualSlippageBps / 100).toFixed(2)}% > max ${(Number(slippage) / 100).toFixed(2)}%`);
117
- // }
118
114
  return {
119
115
  to: build_data.data.routerAddress,
120
116
  calldata: build_data.data.data,