@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.
- package/dist/index.browser.global.js +28 -3
- package/dist/index.browser.mjs +28 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.js +28 -3
- package/dist/index.mjs +28 -3
- package/package.json +1 -1
- package/src/dataTypes/_bignumber.ts +15 -0
- package/src/modules/avnu.ts +0 -1
- package/src/strategies/ekubo-cl-vault.tsx +15 -3
|
@@ -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(
|
package/dist/index.browser.mjs
CHANGED
|
@@ -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
|
@@ -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 });
|
package/src/modules/avnu.ts
CHANGED
|
@@ -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
|
-
|
|
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(
|