@strkfarm/sdk 1.0.53 → 1.0.54

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.
@@ -19770,6 +19770,19 @@ var strkfarm_risk_engine = (() => {
19770
19770
  }
19771
19771
  return value.toFixed(this.maxToFixedDecimals());
19772
19772
  }
19773
+ minimum(value) {
19774
+ const _value = new import_bignumber.default(value);
19775
+ const _valueMe = new import_bignumber.default(this.toString());
19776
+ const answer = _value.lessThanOrEqualTo(_valueMe) ? _value : _valueMe;
19777
+ return this.construct(answer.toString(), this.decimals);
19778
+ }
19779
+ maximum(value) {
19780
+ const _value = new import_bignumber.default(value);
19781
+ const _valueMe = new import_bignumber.default(this.toString());
19782
+ console.warn(`maximum: _value: ${_value.toString()}, _valueMe: ${_valueMe.toString()}`);
19783
+ const answer = _value.greaterThanOrEqualTo(_valueMe) ? _value : _valueMe;
19784
+ return this.construct(answer.toString(), this.decimals);
19785
+ }
19773
19786
  };
19774
19787
  import_bignumber.default.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: import_bignumber.default.ROUND_DOWN });
19775
19788
  _Web3Number.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: import_bignumber.default.ROUND_DOWN });
@@ -38132,7 +38145,6 @@ var strkfarm_risk_engine = (() => {
38132
38145
  }
38133
38146
  throw new Error("no quotes found");
38134
38147
  }
38135
- logger.verbose(`${_AvnuWrapper.name}: getQuotes => Found ${JSON.stringify(filteredQuotes[0])}`);
38136
38148
  return filteredQuotes[0];
38137
38149
  }
38138
38150
  async getSwapInfo(quote, taker, integratorFeeBps, integratorFeeRecipient, minAmount) {
@@ -52150,11 +52162,19 @@ var strkfarm_risk_engine = (() => {
52150
52162
  uint256_exports.uint256ToBN(swapInfo1.token_from_amount).toString(),
52151
52163
  18
52152
52164
  // cause its always STRK?
52165
+ ).minimum(
52166
+ postFeeAmount.toFixed(18)
52167
+ // cause always strk
52168
+ );
52169
+ swapInfo.token_from_amount = uint256_exports.bnToUint256(swap1Amount.toWei());
52170
+ swapInfo.token_to_min_amount = uint256_exports.bnToUint256(
52171
+ swap1Amount.multipliedBy(0).toWei()
52172
+ // placeholder
52153
52173
  );
52154
52174
  logger.verbose(
52155
52175
  `${_EkuboCLVault.name}: harvest => swap1Amount: ${swap1Amount}`
52156
52176
  );
52157
- const remainingAmount = postFeeAmount.minus(swap1Amount);
52177
+ const remainingAmount = postFeeAmount.minus(swap1Amount).maximum(0);
52158
52178
  logger.verbose(
52159
52179
  `${_EkuboCLVault.name}: harvest => remainingAmount: ${remainingAmount}`
52160
52180
  );
@@ -52194,7 +52214,12 @@ var strkfarm_risk_engine = (() => {
52194
52214
  const _callsFinal = await this.rebalanceIter(
52195
52215
  swapInfo,
52196
52216
  acc,
52197
- harvestEstimateCall
52217
+ harvestEstimateCall,
52218
+ claim.token.eq(poolKey.token0),
52219
+ 0,
52220
+ 0n,
52221
+ BigInt(postFeeAmount.toWei())
52222
+ // upper limit is the post fee amount
52198
52223
  );
52199
52224
  logger.verbose(
52200
52225
  `${_EkuboCLVault.name}: harvest => _callsFinal: ${JSON.stringify(
@@ -51,6 +51,19 @@ var _Web3Number = class extends BigNumber {
51
51
  }
52
52
  return value.toFixed(this.maxToFixedDecimals());
53
53
  }
54
+ minimum(value) {
55
+ const _value = new BigNumber(value);
56
+ const _valueMe = new BigNumber(this.toString());
57
+ const answer = _value.lessThanOrEqualTo(_valueMe) ? _value : _valueMe;
58
+ return this.construct(answer.toString(), this.decimals);
59
+ }
60
+ maximum(value) {
61
+ const _value = new BigNumber(value);
62
+ const _valueMe = new BigNumber(this.toString());
63
+ console.warn(`maximum: _value: ${_value.toString()}, _valueMe: ${_valueMe.toString()}`);
64
+ const answer = _value.greaterThanOrEqualTo(_valueMe) ? _value : _valueMe;
65
+ return this.construct(answer.toString(), this.decimals);
66
+ }
54
67
  };
55
68
  BigNumber.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: BigNumber.ROUND_DOWN });
56
69
  _Web3Number.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: BigNumber.ROUND_DOWN });
@@ -1911,7 +1924,6 @@ var AvnuWrapper = class _AvnuWrapper {
1911
1924
  }
1912
1925
  throw new Error("no quotes found");
1913
1926
  }
1914
- logger.verbose(`${_AvnuWrapper.name}: getQuotes => Found ${JSON.stringify(filteredQuotes[0])}`);
1915
1927
  return filteredQuotes[0];
1916
1928
  }
1917
1929
  async getSwapInfo(quote, taker, integratorFeeBps, integratorFeeRecipient, minAmount) {
@@ -15943,11 +15955,19 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
15943
15955
  uint2564.uint256ToBN(swapInfo1.token_from_amount).toString(),
15944
15956
  18
15945
15957
  // cause its always STRK?
15958
+ ).minimum(
15959
+ postFeeAmount.toFixed(18)
15960
+ // cause always strk
15961
+ );
15962
+ swapInfo.token_from_amount = uint2564.bnToUint256(swap1Amount.toWei());
15963
+ swapInfo.token_to_min_amount = uint2564.bnToUint256(
15964
+ swap1Amount.multipliedBy(0).toWei()
15965
+ // placeholder
15946
15966
  );
15947
15967
  logger.verbose(
15948
15968
  `${_EkuboCLVault.name}: harvest => swap1Amount: ${swap1Amount}`
15949
15969
  );
15950
- const remainingAmount = postFeeAmount.minus(swap1Amount);
15970
+ const remainingAmount = postFeeAmount.minus(swap1Amount).maximum(0);
15951
15971
  logger.verbose(
15952
15972
  `${_EkuboCLVault.name}: harvest => remainingAmount: ${remainingAmount}`
15953
15973
  );
@@ -15987,7 +16007,12 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
15987
16007
  const _callsFinal = await this.rebalanceIter(
15988
16008
  swapInfo,
15989
16009
  acc,
15990
- harvestEstimateCall
16010
+ harvestEstimateCall,
16011
+ claim.token.eq(poolKey.token0),
16012
+ 0,
16013
+ 0n,
16014
+ BigInt(postFeeAmount.toWei())
16015
+ // upper limit is the post fee amount
15991
16016
  );
15992
16017
  logger.verbose(
15993
16018
  `${_EkuboCLVault.name}: harvest => _callsFinal: ${JSON.stringify(
package/dist/index.d.ts CHANGED
@@ -19,6 +19,8 @@ declare class _Web3Number<T extends _Web3Number<T>> extends BigNumber {
19
19
  valueOf(): string;
20
20
  private maxToFixedDecimals;
21
21
  private getStandardString;
22
+ minimum(value: string | number | T): T;
23
+ maximum(value: string | number | T): T;
22
24
  }
23
25
 
24
26
  declare class Web3Number extends _Web3Number<Web3Number> {
package/dist/index.js CHANGED
@@ -124,6 +124,19 @@ var _Web3Number = class extends import_bignumber.default {
124
124
  }
125
125
  return value.toFixed(this.maxToFixedDecimals());
126
126
  }
127
+ minimum(value) {
128
+ const _value = new import_bignumber.default(value);
129
+ const _valueMe = new import_bignumber.default(this.toString());
130
+ const answer = _value.lessThanOrEqualTo(_valueMe) ? _value : _valueMe;
131
+ return this.construct(answer.toString(), this.decimals);
132
+ }
133
+ maximum(value) {
134
+ const _value = new import_bignumber.default(value);
135
+ const _valueMe = new import_bignumber.default(this.toString());
136
+ console.warn(`maximum: _value: ${_value.toString()}, _valueMe: ${_valueMe.toString()}`);
137
+ const answer = _value.greaterThanOrEqualTo(_valueMe) ? _value : _valueMe;
138
+ return this.construct(answer.toString(), this.decimals);
139
+ }
127
140
  };
128
141
  import_bignumber.default.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: import_bignumber.default.ROUND_DOWN });
129
142
  _Web3Number.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: import_bignumber.default.ROUND_DOWN });
@@ -2030,7 +2043,6 @@ var AvnuWrapper = class _AvnuWrapper {
2030
2043
  }
2031
2044
  throw new Error("no quotes found");
2032
2045
  }
2033
- logger.verbose(`${_AvnuWrapper.name}: getQuotes => Found ${JSON.stringify(filteredQuotes[0])}`);
2034
2046
  return filteredQuotes[0];
2035
2047
  }
2036
2048
  async getSwapInfo(quote, taker, integratorFeeBps, integratorFeeRecipient, minAmount) {
@@ -16058,11 +16070,19 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
16058
16070
  import_starknet9.uint256.uint256ToBN(swapInfo1.token_from_amount).toString(),
16059
16071
  18
16060
16072
  // cause its always STRK?
16073
+ ).minimum(
16074
+ postFeeAmount.toFixed(18)
16075
+ // cause always strk
16076
+ );
16077
+ swapInfo.token_from_amount = import_starknet9.uint256.bnToUint256(swap1Amount.toWei());
16078
+ swapInfo.token_to_min_amount = import_starknet9.uint256.bnToUint256(
16079
+ swap1Amount.multipliedBy(0).toWei()
16080
+ // placeholder
16061
16081
  );
16062
16082
  logger.verbose(
16063
16083
  `${_EkuboCLVault.name}: harvest => swap1Amount: ${swap1Amount}`
16064
16084
  );
16065
- const remainingAmount = postFeeAmount.minus(swap1Amount);
16085
+ const remainingAmount = postFeeAmount.minus(swap1Amount).maximum(0);
16066
16086
  logger.verbose(
16067
16087
  `${_EkuboCLVault.name}: harvest => remainingAmount: ${remainingAmount}`
16068
16088
  );
@@ -16102,7 +16122,12 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
16102
16122
  const _callsFinal = await this.rebalanceIter(
16103
16123
  swapInfo,
16104
16124
  acc,
16105
- harvestEstimateCall
16125
+ harvestEstimateCall,
16126
+ claim.token.eq(poolKey.token0),
16127
+ 0,
16128
+ 0n,
16129
+ BigInt(postFeeAmount.toWei())
16130
+ // upper limit is the post fee amount
16106
16131
  );
16107
16132
  logger.verbose(
16108
16133
  `${_EkuboCLVault.name}: harvest => _callsFinal: ${JSON.stringify(
package/dist/index.mjs CHANGED
@@ -54,6 +54,19 @@ var _Web3Number = class extends BigNumber {
54
54
  }
55
55
  return value.toFixed(this.maxToFixedDecimals());
56
56
  }
57
+ minimum(value) {
58
+ const _value = new BigNumber(value);
59
+ const _valueMe = new BigNumber(this.toString());
60
+ const answer = _value.lessThanOrEqualTo(_valueMe) ? _value : _valueMe;
61
+ return this.construct(answer.toString(), this.decimals);
62
+ }
63
+ maximum(value) {
64
+ const _value = new BigNumber(value);
65
+ const _valueMe = new BigNumber(this.toString());
66
+ console.warn(`maximum: _value: ${_value.toString()}, _valueMe: ${_valueMe.toString()}`);
67
+ const answer = _value.greaterThanOrEqualTo(_valueMe) ? _value : _valueMe;
68
+ return this.construct(answer.toString(), this.decimals);
69
+ }
57
70
  };
58
71
  BigNumber.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: BigNumber.ROUND_DOWN });
59
72
  _Web3Number.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: BigNumber.ROUND_DOWN });
@@ -1960,7 +1973,6 @@ var AvnuWrapper = class _AvnuWrapper {
1960
1973
  }
1961
1974
  throw new Error("no quotes found");
1962
1975
  }
1963
- logger.verbose(`${_AvnuWrapper.name}: getQuotes => Found ${JSON.stringify(filteredQuotes[0])}`);
1964
1976
  return filteredQuotes[0];
1965
1977
  }
1966
1978
  async getSwapInfo(quote, taker, integratorFeeBps, integratorFeeRecipient, minAmount) {
@@ -15992,11 +16004,19 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
15992
16004
  uint2564.uint256ToBN(swapInfo1.token_from_amount).toString(),
15993
16005
  18
15994
16006
  // cause its always STRK?
16007
+ ).minimum(
16008
+ postFeeAmount.toFixed(18)
16009
+ // cause always strk
16010
+ );
16011
+ swapInfo.token_from_amount = uint2564.bnToUint256(swap1Amount.toWei());
16012
+ swapInfo.token_to_min_amount = uint2564.bnToUint256(
16013
+ swap1Amount.multipliedBy(0).toWei()
16014
+ // placeholder
15995
16015
  );
15996
16016
  logger.verbose(
15997
16017
  `${_EkuboCLVault.name}: harvest => swap1Amount: ${swap1Amount}`
15998
16018
  );
15999
- const remainingAmount = postFeeAmount.minus(swap1Amount);
16019
+ const remainingAmount = postFeeAmount.minus(swap1Amount).maximum(0);
16000
16020
  logger.verbose(
16001
16021
  `${_EkuboCLVault.name}: harvest => remainingAmount: ${remainingAmount}`
16002
16022
  );
@@ -16036,7 +16056,12 @@ var EkuboCLVault = class _EkuboCLVault extends BaseStrategy {
16036
16056
  const _callsFinal = await this.rebalanceIter(
16037
16057
  swapInfo,
16038
16058
  acc,
16039
- harvestEstimateCall
16059
+ harvestEstimateCall,
16060
+ claim.token.eq(poolKey.token0),
16061
+ 0,
16062
+ 0n,
16063
+ BigInt(postFeeAmount.toWei())
16064
+ // upper limit is the post fee amount
16040
16065
  );
16041
16066
  logger.verbose(
16042
16067
  `${_EkuboCLVault.name}: harvest => _callsFinal: ${JSON.stringify(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strkfarm/sdk",
3
- "version": "1.0.53",
3
+ "version": "1.0.54",
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",
@@ -61,6 +61,21 @@ export class _Web3Number<T extends _Web3Number<T>> extends BigNumber {
61
61
  }
62
62
  return value.toFixed(this.maxToFixedDecimals());
63
63
  }
64
+
65
+ minimum(value: string | number | T): T {
66
+ const _value = new BigNumber(value);
67
+ const _valueMe = new BigNumber(this.toString());
68
+ const answer = _value.lessThanOrEqualTo(_valueMe) ? _value : _valueMe;
69
+ return this.construct(answer.toString(), this.decimals);
70
+ }
71
+
72
+ maximum(value: string | number | T): T {
73
+ const _value = new BigNumber(value);
74
+ const _valueMe = new BigNumber(this.toString());
75
+ console.warn(`maximum: _value: ${_value.toString()}, _valueMe: ${_valueMe.toString()}`);
76
+ const answer = _value.greaterThanOrEqualTo(_valueMe) ? _value : _valueMe;
77
+ return this.construct(answer.toString(), this.decimals);
78
+ }
64
79
  }
65
80
 
66
81
  BigNumber.config({ DECIMAL_PLACES: 18, ROUNDING_MODE: BigNumber.ROUND_DOWN });
@@ -60,7 +60,6 @@ export class AvnuWrapper {
60
60
  throw new Error('no quotes found')
61
61
  }
62
62
 
63
- logger.verbose(`${AvnuWrapper.name}: getQuotes => Found ${JSON.stringify(filteredQuotes[0])}`);
64
63
  return filteredQuotes[0];
65
64
  }
66
65
 
@@ -1456,11 +1456,19 @@ export class EkuboCLVault extends BaseStrategy<
1456
1456
  const swap1Amount = Web3Number.fromWei(
1457
1457
  uint256.uint256ToBN(swapInfo1.token_from_amount).toString(),
1458
1458
  18 // cause its always STRK?
1459
- );
1459
+ ).minimum(
1460
+ postFeeAmount.toFixed(18) // cause always strk
1461
+ ); // ensure we don't swap more than we have
1462
+ swapInfo.token_from_amount = uint256.bnToUint256(swap1Amount.toWei());
1463
+ swapInfo.token_to_min_amount = uint256.bnToUint256(
1464
+ swap1Amount.multipliedBy(0).toWei() // placeholder
1465
+ ); // 0.01% slippage
1466
+
1460
1467
  logger.verbose(
1461
1468
  `${EkuboCLVault.name}: harvest => swap1Amount: ${swap1Amount}`
1462
1469
  );
1463
- const remainingAmount = postFeeAmount.minus(swap1Amount);
1470
+
1471
+ const remainingAmount = postFeeAmount.minus(swap1Amount).maximum(0);
1464
1472
  logger.verbose(
1465
1473
  `${EkuboCLVault.name}: harvest => remainingAmount: ${remainingAmount}`
1466
1474
  );
@@ -1500,7 +1508,11 @@ export class EkuboCLVault extends BaseStrategy<
1500
1508
  const _callsFinal = await this.rebalanceIter(
1501
1509
  swapInfo,
1502
1510
  acc,
1503
- harvestEstimateCall
1511
+ harvestEstimateCall,
1512
+ claim.token.eq(poolKey.token0),
1513
+ 0,
1514
+ 0n,
1515
+ BigInt(postFeeAmount.toWei()), // upper limit is the post fee amount
1504
1516
  );
1505
1517
  logger.verbose(
1506
1518
  `${EkuboCLVault.name}: harvest => _callsFinal: ${JSON.stringify(