@strkfarm/sdk 1.1.56 → 1.1.58

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.
@@ -55733,6 +55733,7 @@ ${JSON.stringify(data, null, 2)}`;
55733
55733
  }
55734
55734
  async getUnHarvestedRewards(addr) {
55735
55735
  const rewards = await this.getHarvests(addr);
55736
+ logger2.verbose(`${_Harvests.name}: getUnHarvestedRewards => rewards length: ${rewards.length}`);
55736
55737
  if (rewards.length == 0) return [];
55737
55738
  const unClaimed = [];
55738
55739
  const sortedRewards = rewards.sort((a, b) => b.endDate.getTime() - a.endDate.getTime());
@@ -55759,11 +55760,13 @@ ${JSON.stringify(data, null, 2)}`;
55759
55760
  }
55760
55761
  };
55761
55762
  var STRK = "0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d";
55762
- var EkuboHarvests = class extends Harvests {
55763
+ var EkuboHarvests = class _EkuboHarvests extends Harvests {
55763
55764
  async getHarvests(addr) {
55765
+ logger2.verbose(`${_EkuboHarvests.name}: getHarvests => addr: ${addr.address}`);
55764
55766
  const EKUBO_API = `https://starknet-mainnet-api.ekubo.org/airdrops/${addr.address}?token=${STRK}`;
55765
55767
  const resultEkubo = await fetch(EKUBO_API);
55766
55768
  const items = await resultEkubo.json();
55769
+ logger2.verbose(`${_EkuboHarvests.name}: getHarvests => items length: ${items.length}`);
55767
55770
  const rewards = [];
55768
55771
  for (let i = 0; i < items.length; ++i) {
55769
55772
  const info = items[i];
@@ -95005,9 +95008,12 @@ spurious results.`);
95005
95008
  const x_debt_usd = numeratorPart1.minus(numeratorPart2).dividedBy(denominatorPart);
95006
95009
  logger2.verbose(`${this.getTag()}::getVesuMultiplyCall x_debt_usd: ${x_debt_usd}`);
95007
95010
  logger2.debug(`${this.getTag()}::getVesuMultiplyCall numeratorPart1: ${numeratorPart1}, numeratorPart2: ${numeratorPart2}, denominatorPart: ${denominatorPart}`);
95008
- const debtAmount = x_debt_usd.dividedBy(debtPrice);
95011
+ let debtAmount = x_debt_usd.dividedBy(debtPrice);
95009
95012
  const marginAmount = addedCollateral;
95010
95013
  logger2.verbose(`${this.getTag()}::getVesuMultiplyCall debtAmount: ${debtAmount}, marginAmount: ${marginAmount}`);
95014
+ if (marginAmount.lt(0) && debtAmount.gt(0)) {
95015
+ debtAmount = Web3Number.fromWei(0, this.asset().decimals);
95016
+ }
95011
95017
  return this.getModifyLeverCall({
95012
95018
  marginAmount,
95013
95019
  debtAmount,
@@ -4133,6 +4133,7 @@ var Harvests = class _Harvests {
4133
4133
  }
4134
4134
  async getUnHarvestedRewards(addr) {
4135
4135
  const rewards = await this.getHarvests(addr);
4136
+ logger.verbose(`${_Harvests.name}: getUnHarvestedRewards => rewards length: ${rewards.length}`);
4136
4137
  if (rewards.length == 0) return [];
4137
4138
  const unClaimed = [];
4138
4139
  const sortedRewards = rewards.sort((a, b) => b.endDate.getTime() - a.endDate.getTime());
@@ -4159,11 +4160,13 @@ var Harvests = class _Harvests {
4159
4160
  }
4160
4161
  };
4161
4162
  var STRK = "0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d";
4162
- var EkuboHarvests = class extends Harvests {
4163
+ var EkuboHarvests = class _EkuboHarvests extends Harvests {
4163
4164
  async getHarvests(addr) {
4165
+ logger.verbose(`${_EkuboHarvests.name}: getHarvests => addr: ${addr.address}`);
4164
4166
  const EKUBO_API = `https://starknet-mainnet-api.ekubo.org/airdrops/${addr.address}?token=${STRK}`;
4165
4167
  const resultEkubo = await fetch(EKUBO_API);
4166
4168
  const items = await resultEkubo.json();
4169
+ logger.verbose(`${_EkuboHarvests.name}: getHarvests => items length: ${items.length}`);
4167
4170
  const rewards = [];
4168
4171
  for (let i = 0; i < items.length; ++i) {
4169
4172
  const info = items[i];
@@ -31098,9 +31101,12 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
31098
31101
  const x_debt_usd = numeratorPart1.minus(numeratorPart2).dividedBy(denominatorPart);
31099
31102
  logger.verbose(`${this.getTag()}::getVesuMultiplyCall x_debt_usd: ${x_debt_usd}`);
31100
31103
  logger.debug(`${this.getTag()}::getVesuMultiplyCall numeratorPart1: ${numeratorPart1}, numeratorPart2: ${numeratorPart2}, denominatorPart: ${denominatorPart}`);
31101
- const debtAmount = x_debt_usd.dividedBy(debtPrice);
31104
+ let debtAmount = x_debt_usd.dividedBy(debtPrice);
31102
31105
  const marginAmount = addedCollateral;
31103
31106
  logger.verbose(`${this.getTag()}::getVesuMultiplyCall debtAmount: ${debtAmount}, marginAmount: ${marginAmount}`);
31107
+ if (marginAmount.lt(0) && debtAmount.gt(0)) {
31108
+ debtAmount = Web3Number.fromWei(0, this.asset().decimals);
31109
+ }
31104
31110
  return this.getModifyLeverCall({
31105
31111
  marginAmount,
31106
31112
  debtAmount,
package/dist/index.js CHANGED
@@ -4137,6 +4137,7 @@ var Harvests = class _Harvests {
4137
4137
  }
4138
4138
  async getUnHarvestedRewards(addr) {
4139
4139
  const rewards = await this.getHarvests(addr);
4140
+ logger.verbose(`${_Harvests.name}: getUnHarvestedRewards => rewards length: ${rewards.length}`);
4140
4141
  if (rewards.length == 0) return [];
4141
4142
  const unClaimed = [];
4142
4143
  const sortedRewards = rewards.sort((a, b) => b.endDate.getTime() - a.endDate.getTime());
@@ -4163,11 +4164,13 @@ var Harvests = class _Harvests {
4163
4164
  }
4164
4165
  };
4165
4166
  var STRK = "0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d";
4166
- var EkuboHarvests = class extends Harvests {
4167
+ var EkuboHarvests = class _EkuboHarvests extends Harvests {
4167
4168
  async getHarvests(addr) {
4169
+ logger.verbose(`${_EkuboHarvests.name}: getHarvests => addr: ${addr.address}`);
4168
4170
  const EKUBO_API = `https://starknet-mainnet-api.ekubo.org/airdrops/${addr.address}?token=${STRK}`;
4169
4171
  const resultEkubo = await fetch(EKUBO_API);
4170
4172
  const items = await resultEkubo.json();
4173
+ logger.verbose(`${_EkuboHarvests.name}: getHarvests => items length: ${items.length}`);
4171
4174
  const rewards = [];
4172
4175
  for (let i = 0; i < items.length; ++i) {
4173
4176
  const info = items[i];
@@ -31098,9 +31101,12 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
31098
31101
  const x_debt_usd = numeratorPart1.minus(numeratorPart2).dividedBy(denominatorPart);
31099
31102
  logger.verbose(`${this.getTag()}::getVesuMultiplyCall x_debt_usd: ${x_debt_usd}`);
31100
31103
  logger.debug(`${this.getTag()}::getVesuMultiplyCall numeratorPart1: ${numeratorPart1}, numeratorPart2: ${numeratorPart2}, denominatorPart: ${denominatorPart}`);
31101
- const debtAmount = x_debt_usd.dividedBy(debtPrice);
31104
+ let debtAmount = x_debt_usd.dividedBy(debtPrice);
31102
31105
  const marginAmount = addedCollateral;
31103
31106
  logger.verbose(`${this.getTag()}::getVesuMultiplyCall debtAmount: ${debtAmount}, marginAmount: ${marginAmount}`);
31107
+ if (marginAmount.lt(0) && debtAmount.gt(0)) {
31108
+ debtAmount = Web3Number.fromWei(0, this.asset().decimals);
31109
+ }
31104
31110
  return this.getModifyLeverCall({
31105
31111
  marginAmount,
31106
31112
  debtAmount,
package/dist/index.mjs CHANGED
@@ -4031,6 +4031,7 @@ var Harvests = class _Harvests {
4031
4031
  }
4032
4032
  async getUnHarvestedRewards(addr) {
4033
4033
  const rewards = await this.getHarvests(addr);
4034
+ logger.verbose(`${_Harvests.name}: getUnHarvestedRewards => rewards length: ${rewards.length}`);
4034
4035
  if (rewards.length == 0) return [];
4035
4036
  const unClaimed = [];
4036
4037
  const sortedRewards = rewards.sort((a, b) => b.endDate.getTime() - a.endDate.getTime());
@@ -4057,11 +4058,13 @@ var Harvests = class _Harvests {
4057
4058
  }
4058
4059
  };
4059
4060
  var STRK = "0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d";
4060
- var EkuboHarvests = class extends Harvests {
4061
+ var EkuboHarvests = class _EkuboHarvests extends Harvests {
4061
4062
  async getHarvests(addr) {
4063
+ logger.verbose(`${_EkuboHarvests.name}: getHarvests => addr: ${addr.address}`);
4062
4064
  const EKUBO_API = `https://starknet-mainnet-api.ekubo.org/airdrops/${addr.address}?token=${STRK}`;
4063
4065
  const resultEkubo = await fetch(EKUBO_API);
4064
4066
  const items = await resultEkubo.json();
4067
+ logger.verbose(`${_EkuboHarvests.name}: getHarvests => items length: ${items.length}`);
4065
4068
  const rewards = [];
4066
4069
  for (let i = 0; i < items.length; ++i) {
4067
4070
  const info = items[i];
@@ -30996,9 +30999,12 @@ var UniversalLstMultiplierStrategy = class _UniversalLstMultiplierStrategy exten
30996
30999
  const x_debt_usd = numeratorPart1.minus(numeratorPart2).dividedBy(denominatorPart);
30997
31000
  logger.verbose(`${this.getTag()}::getVesuMultiplyCall x_debt_usd: ${x_debt_usd}`);
30998
31001
  logger.debug(`${this.getTag()}::getVesuMultiplyCall numeratorPart1: ${numeratorPart1}, numeratorPart2: ${numeratorPart2}, denominatorPart: ${denominatorPart}`);
30999
- const debtAmount = x_debt_usd.dividedBy(debtPrice);
31002
+ let debtAmount = x_debt_usd.dividedBy(debtPrice);
31000
31003
  const marginAmount = addedCollateral;
31001
31004
  logger.verbose(`${this.getTag()}::getVesuMultiplyCall debtAmount: ${debtAmount}, marginAmount: ${marginAmount}`);
31005
+ if (marginAmount.lt(0) && debtAmount.gt(0)) {
31006
+ debtAmount = Web3Number.fromWei(0, this.asset().decimals);
31007
+ }
31002
31008
  return this.getModifyLeverCall({
31003
31009
  marginAmount,
31004
31010
  debtAmount,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strkfarm/sdk",
3
- "version": "1.1.56",
3
+ "version": "1.1.58",
4
4
  "description": "STRKFarm TS SDK (Meant for our internal use, but feel free to use it)",
5
5
  "typings": "dist/index.d.ts",
6
6
  "types": "dist/index.d.ts",
@@ -29,6 +29,7 @@ export class Harvests {
29
29
 
30
30
  async getUnHarvestedRewards(addr: ContractAddr) {
31
31
  const rewards = await this.getHarvests(addr);
32
+ logger.verbose(`${Harvests.name}: getUnHarvestedRewards => rewards length: ${rewards.length}`);
32
33
  if (rewards.length == 0) return [];
33
34
 
34
35
  const unClaimed: HarvestInfo[] = [];
@@ -66,10 +67,11 @@ const STRK = '0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d'
66
67
 
67
68
  export class EkuboHarvests extends Harvests {
68
69
  async getHarvests(addr: ContractAddr) {
70
+ logger.verbose(`${EkuboHarvests.name}: getHarvests => addr: ${addr.address}`);
69
71
  const EKUBO_API = `https://starknet-mainnet-api.ekubo.org/airdrops/${addr.address}?token=${STRK}`
70
72
  const resultEkubo = await fetch(EKUBO_API);
71
73
  const items = (await resultEkubo.json());
72
-
74
+ logger.verbose(`${EkuboHarvests.name}: getHarvests => items length: ${items.length}`);
73
75
  const rewards: HarvestInfo[] = [];
74
76
  for (let i=0; i<items.length; ++i) {
75
77
  const info = items[i];
@@ -485,10 +485,17 @@ export class UniversalLstMultiplierStrategy extends UniversalStrategy<HyperLSTSt
485
485
  logger.debug(`${this.getTag()}::getVesuMultiplyCall numeratorPart1: ${numeratorPart1}, numeratorPart2: ${numeratorPart2}, denominatorPart: ${denominatorPart}`);
486
486
 
487
487
  // both in underlying
488
- const debtAmount = x_debt_usd.dividedBy(debtPrice);
488
+ let debtAmount = x_debt_usd.dividedBy(debtPrice);
489
489
  const marginAmount = addedCollateral;
490
490
  logger.verbose(`${this.getTag()}::getVesuMultiplyCall debtAmount: ${debtAmount}, marginAmount: ${marginAmount}`);
491
491
 
492
+ if (marginAmount.lt(0) && debtAmount.gt(0)) {
493
+ // if we want to withdraw, but debt can go high, its conflicting between
494
+ // increasing and reducing lever. and in this case, the HF will go high,
495
+ // which is ok.
496
+ debtAmount = Web3Number.fromWei(0, this.asset().decimals);
497
+ }
498
+
492
499
  // Cases of lever increase (within the scopr of this function)
493
500
  // 1. debtAmount > 0 and marginAmount > 0
494
501
  // 2. debtAmount > 0 and marginAmount < 0