@gearbox-protocol/sdk 0.0.108 → 0.0.109
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/lib/core/creditManager.js +3 -1
- package/lib/strategies/curve.js +4 -6
- package/lib/strategies/yearn.js +4 -0
- package/package.json +1 -1
- package/src/core/creditManager.ts +3 -1
- package/src/strategies/convex.ts +9 -3
- package/src/strategies/curve.ts +22 -14
- package/src/strategies/lido.ts +6 -2
- package/src/strategies/yearn.ts +13 -2
|
@@ -49,7 +49,9 @@ var CreditManagerData = /** @class */ (function () {
|
|
|
49
49
|
this.maxAmount = ethers_1.BigNumber.from(payload.maxAmount || 0);
|
|
50
50
|
this.maxLeverageFactor = ethers_1.BigNumber.from(payload.maxLeverageFactor || 0).toNumber();
|
|
51
51
|
this.availableLiquidity = ethers_1.BigNumber.from(payload.availableLiquidity || 0);
|
|
52
|
-
this.allowedTokens = (payload.collateralTokens || []).map(function (t) {
|
|
52
|
+
this.allowedTokens = (payload.collateralTokens || []).map(function (t) {
|
|
53
|
+
return t.toLowerCase();
|
|
54
|
+
});
|
|
53
55
|
this.adapters = (payload.adapters || []).reduce(function (acc, _a) {
|
|
54
56
|
var _b;
|
|
55
57
|
var allowedContract = _a.allowedContract, adapter = _a.adapter;
|
package/lib/strategies/curve.js
CHANGED
|
@@ -155,14 +155,12 @@ var CurveStrategies = /** @class */ (function () {
|
|
|
155
155
|
var calls = [];
|
|
156
156
|
var curveParams = contracts_1.contractParams[curvePool];
|
|
157
157
|
var tokenToDeposit = curveParams.tokens[0];
|
|
158
|
-
if (data.underlyingToken.toLowerCase() !==
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
if (data.underlyingToken === token_1.tokenDataByNetwork[network][tokenToDeposit]) {
|
|
162
|
-
calls.push(CurveMulticaller.connect(data.adapters[contracts_1.contractsByNetwork[network][curvePool].toLowerCase()]).add_liquidity_one_coin(underlyingAmount, 0, 0));
|
|
158
|
+
if (data.underlyingToken.toLowerCase() !==
|
|
159
|
+
token_1.tokenDataByNetwork[network][tokenToDeposit].toLowerCase()) {
|
|
160
|
+
calls.push(uniswapV2_1.UniswapV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()]).swapExactTokensForTokens(underlyingAmount, 0, [data.underlyingToken, token_1.tokenDataByNetwork[network][tokenToDeposit]], constants_1.ADDRESS_0X0, Math.floor(new Date().getTime() / 1000) + 3600), CurveMulticaller.connect(data.adapters[contracts_1.contractsByNetwork[network][curvePool].toLowerCase()]).add_all_liquidity_one_coin(0, 0));
|
|
163
161
|
}
|
|
164
162
|
else {
|
|
165
|
-
calls.push(CurveMulticaller.connect(data.adapters[contracts_1.contractsByNetwork[network][curvePool].toLowerCase()]).
|
|
163
|
+
calls.push(CurveMulticaller.connect(data.adapters[contracts_1.contractsByNetwork[network][curvePool].toLowerCase()]).add_liquidity_one_coin(underlyingAmount, 0, 0));
|
|
166
164
|
}
|
|
167
165
|
return calls;
|
|
168
166
|
};
|
package/lib/strategies/yearn.js
CHANGED
|
@@ -93,6 +93,10 @@ var YearnV2Strategies = /** @class */ (function () {
|
|
|
93
93
|
token_1.tokenDataByNetwork[network][yearnParams.underlying]
|
|
94
94
|
], constants_1.ADDRESS_0X0, Math.floor(new Date().getTime() / 1000) + 3600));
|
|
95
95
|
}
|
|
96
|
+
else {
|
|
97
|
+
calls.push(YearnV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network][yearnVault].toLowerCase()]).deposit(underlyingAmount));
|
|
98
|
+
return calls;
|
|
99
|
+
}
|
|
96
100
|
}
|
|
97
101
|
else if (yearnParams.type === tokenType_1.TokenType.YEARN_VAULT_OF_CURVE_LP ||
|
|
98
102
|
yearnParams.type === tokenType_1.TokenType.YEARN_VAULT_OF_META_CURVE_LP) {
|
package/package.json
CHANGED
|
@@ -84,7 +84,9 @@ export class CreditManagerData {
|
|
|
84
84
|
).toNumber();
|
|
85
85
|
this.availableLiquidity = BigNumber.from(payload.availableLiquidity || 0);
|
|
86
86
|
|
|
87
|
-
this.allowedTokens = (payload.collateralTokens || []).map(t =>
|
|
87
|
+
this.allowedTokens = (payload.collateralTokens || []).map(t =>
|
|
88
|
+
t.toLowerCase()
|
|
89
|
+
);
|
|
88
90
|
this.adapters = (payload.adapters || []).reduce<Record<string, string>>(
|
|
89
91
|
(acc, { allowedContract, adapter }) => ({
|
|
90
92
|
...acc,
|
package/src/strategies/convex.ts
CHANGED
|
@@ -375,14 +375,18 @@ export class ConvexStrategies {
|
|
|
375
375
|
|
|
376
376
|
calls.push(
|
|
377
377
|
UniswapV2Multicaller.connect(
|
|
378
|
-
data.adapters[
|
|
378
|
+
data.adapters[
|
|
379
|
+
contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()
|
|
380
|
+
]
|
|
379
381
|
).swapAllTokensForTokens(
|
|
380
382
|
0,
|
|
381
383
|
[tokenDataByNetwork[network].CRV, data.underlyingToken],
|
|
382
384
|
Math.floor(new Date().getTime() / 1000) + 3600
|
|
383
385
|
),
|
|
384
386
|
UniswapV2Multicaller.connect(
|
|
385
|
-
data.adapters[
|
|
387
|
+
data.adapters[
|
|
388
|
+
contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()
|
|
389
|
+
]
|
|
386
390
|
).swapAllTokensForTokens(
|
|
387
391
|
0,
|
|
388
392
|
[tokenDataByNetwork[network].CVX, data.underlyingToken],
|
|
@@ -392,7 +396,9 @@ export class ConvexStrategies {
|
|
|
392
396
|
|
|
393
397
|
convexParams.extraRewards.forEach(extraReward => {
|
|
394
398
|
UniswapV2Multicaller.connect(
|
|
395
|
-
data.adapters[
|
|
399
|
+
data.adapters[
|
|
400
|
+
contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()
|
|
401
|
+
]
|
|
396
402
|
).swapAllTokensForTokens(
|
|
397
403
|
0,
|
|
398
404
|
[
|
package/src/strategies/curve.ts
CHANGED
|
@@ -344,31 +344,31 @@ export class CurveStrategies {
|
|
|
344
344
|
const curveParams = contractParams[curvePool] as CurveParams;
|
|
345
345
|
const tokenToDeposit = curveParams.tokens[0];
|
|
346
346
|
|
|
347
|
-
if (
|
|
347
|
+
if (
|
|
348
|
+
data.underlyingToken.toLowerCase() !==
|
|
349
|
+
tokenDataByNetwork[network][tokenToDeposit].toLowerCase()
|
|
350
|
+
) {
|
|
348
351
|
calls.push(
|
|
349
352
|
UniswapV2Multicaller.connect(
|
|
350
|
-
data.adapters[
|
|
353
|
+
data.adapters[
|
|
354
|
+
contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()
|
|
355
|
+
]
|
|
351
356
|
).swapExactTokensForTokens(
|
|
352
357
|
underlyingAmount,
|
|
353
358
|
0,
|
|
354
359
|
[data.underlyingToken, tokenDataByNetwork[network][tokenToDeposit]],
|
|
355
360
|
ADDRESS_0X0,
|
|
356
361
|
Math.floor(new Date().getTime() / 1000) + 3600
|
|
357
|
-
)
|
|
358
|
-
);
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
if (data.underlyingToken === tokenDataByNetwork[network][tokenToDeposit]) {
|
|
362
|
-
calls.push(
|
|
362
|
+
),
|
|
363
363
|
CurveMulticaller.connect(
|
|
364
364
|
data.adapters[contractsByNetwork[network][curvePool].toLowerCase()]
|
|
365
|
-
).
|
|
365
|
+
).add_all_liquidity_one_coin(0, 0)
|
|
366
366
|
);
|
|
367
367
|
} else {
|
|
368
368
|
calls.push(
|
|
369
369
|
CurveMulticaller.connect(
|
|
370
370
|
data.adapters[contractsByNetwork[network][curvePool].toLowerCase()]
|
|
371
|
-
).
|
|
371
|
+
).add_liquidity_one_coin(underlyingAmount, 0, 0)
|
|
372
372
|
);
|
|
373
373
|
}
|
|
374
374
|
|
|
@@ -388,7 +388,9 @@ export class CurveStrategies {
|
|
|
388
388
|
|
|
389
389
|
if (curveParams.wrapper) {
|
|
390
390
|
curveContractAddress =
|
|
391
|
-
data.adapters[
|
|
391
|
+
data.adapters[
|
|
392
|
+
contractsByNetwork[network][curveParams.wrapper].toLowerCase()
|
|
393
|
+
];
|
|
392
394
|
} else {
|
|
393
395
|
curveContractAddress =
|
|
394
396
|
data.adapters[contractsByNetwork[network][curvePool].toLowerCase()];
|
|
@@ -408,7 +410,9 @@ export class CurveStrategies {
|
|
|
408
410
|
) {
|
|
409
411
|
calls.push(
|
|
410
412
|
UniswapV2Multicaller.connect(
|
|
411
|
-
data.adapters[
|
|
413
|
+
data.adapters[
|
|
414
|
+
contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()
|
|
415
|
+
]
|
|
412
416
|
).swapAllTokensForTokens(
|
|
413
417
|
0,
|
|
414
418
|
[
|
|
@@ -435,7 +439,9 @@ export class CurveStrategies {
|
|
|
435
439
|
|
|
436
440
|
if (curveParams.wrapper) {
|
|
437
441
|
curveContractAddress =
|
|
438
|
-
data.adapters[
|
|
442
|
+
data.adapters[
|
|
443
|
+
contractsByNetwork[network][curveParams.wrapper].toLowerCase()
|
|
444
|
+
];
|
|
439
445
|
} else {
|
|
440
446
|
curveContractAddress =
|
|
441
447
|
data.adapters[contractsByNetwork[network][curvePool].toLowerCase()];
|
|
@@ -453,7 +459,9 @@ export class CurveStrategies {
|
|
|
453
459
|
) {
|
|
454
460
|
calls.push(
|
|
455
461
|
UniswapV2Multicaller.connect(
|
|
456
|
-
data.adapters[
|
|
462
|
+
data.adapters[
|
|
463
|
+
contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()
|
|
464
|
+
]
|
|
457
465
|
).swapAllTokensForTokens(
|
|
458
466
|
0,
|
|
459
467
|
[
|
package/src/strategies/lido.ts
CHANGED
|
@@ -62,7 +62,9 @@ export class LidoStrategies {
|
|
|
62
62
|
if (!data.isWETH) {
|
|
63
63
|
calls.push(
|
|
64
64
|
UniswapV2Multicaller.connect(
|
|
65
|
-
data.adapters[
|
|
65
|
+
data.adapters[
|
|
66
|
+
contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()
|
|
67
|
+
]
|
|
66
68
|
).swapExactTokensForTokens(
|
|
67
69
|
underlyingAmount,
|
|
68
70
|
0,
|
|
@@ -75,7 +77,9 @@ export class LidoStrategies {
|
|
|
75
77
|
|
|
76
78
|
calls.push(
|
|
77
79
|
LidoMulticaller.connect(
|
|
78
|
-
data.adapters[
|
|
80
|
+
data.adapters[
|
|
81
|
+
contractsByNetwork[network].LIDO_STETH_GATEWAY.toLowerCase()
|
|
82
|
+
]
|
|
79
83
|
).submitAll()
|
|
80
84
|
);
|
|
81
85
|
|
package/src/strategies/yearn.ts
CHANGED
|
@@ -109,7 +109,9 @@ export class YearnV2Strategies {
|
|
|
109
109
|
// This should be a pathfinder call
|
|
110
110
|
calls.push(
|
|
111
111
|
UniswapV2Multicaller.connect(
|
|
112
|
-
data.adapters[
|
|
112
|
+
data.adapters[
|
|
113
|
+
contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()
|
|
114
|
+
]
|
|
113
115
|
).swapExactTokensForTokens(
|
|
114
116
|
underlyingAmount,
|
|
115
117
|
0,
|
|
@@ -121,6 +123,13 @@ export class YearnV2Strategies {
|
|
|
121
123
|
Math.floor(new Date().getTime() / 1000) + 3600
|
|
122
124
|
)
|
|
123
125
|
);
|
|
126
|
+
} else {
|
|
127
|
+
calls.push(
|
|
128
|
+
YearnV2Multicaller.connect(
|
|
129
|
+
data.adapters[contractsByNetwork[network][yearnVault].toLowerCase()]
|
|
130
|
+
).deposit(underlyingAmount)
|
|
131
|
+
);
|
|
132
|
+
return calls;
|
|
124
133
|
}
|
|
125
134
|
} else if (
|
|
126
135
|
yearnParams.type === TokenType.YEARN_VAULT_OF_CURVE_LP ||
|
|
@@ -175,7 +184,9 @@ export class YearnV2Strategies {
|
|
|
175
184
|
// This should be a pathfinder call
|
|
176
185
|
calls.push(
|
|
177
186
|
UniswapV2Multicaller.connect(
|
|
178
|
-
data.adapters[
|
|
187
|
+
data.adapters[
|
|
188
|
+
contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()
|
|
189
|
+
]
|
|
179
190
|
).swapAllTokensForTokens(
|
|
180
191
|
0,
|
|
181
192
|
[
|