@gearbox-protocol/sdk 2.1.33 → 2.1.35

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 (77) hide show
  1. package/contracts/index.sol +8 -0
  2. package/lib/contracts/protocols.d.ts +0 -5
  3. package/lib/contracts/protocols.js +1 -43
  4. package/lib/core/creditManager.d.ts +4 -1
  5. package/lib/core/creditManager.js +26 -4
  6. package/lib/core/pool/index.d.ts +0 -1
  7. package/lib/core/pool/index.js +0 -1
  8. package/lib/core/trade.d.ts +29 -16
  9. package/lib/core/trade.js +67 -10
  10. package/lib/index.d.ts +0 -11
  11. package/lib/index.js +1 -14
  12. package/lib/parsers/creditFacadeParser.js +2 -2
  13. package/lib/parsers/creditFacadeParser.spec.js +1 -2
  14. package/lib/parsers/txParser.js +1 -1
  15. package/lib/tokens/aave.d.ts +0 -3
  16. package/lib/tokens/aave.js +0 -57
  17. package/lib/tokens/balancer.d.ts +0 -10
  18. package/lib/tokens/balancer.js +0 -29
  19. package/lib/tokens/compound.d.ts +0 -2
  20. package/lib/tokens/compound.js +0 -36
  21. package/lib/tokens/convex.d.ts +2 -2
  22. package/lib/tokens/convex.js +9 -322
  23. package/lib/tokens/curveLP.d.ts +3 -4
  24. package/lib/tokens/curveLP.js +17 -240
  25. package/lib/tokens/gear.d.ts +0 -2
  26. package/lib/tokens/normal.d.ts +0 -3
  27. package/lib/tokens/normal.js +0 -718
  28. package/lib/tokens/yearn.d.ts +0 -4
  29. package/lib/tokens/yearn.js +0 -43
  30. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/Balances.sol/BalanceOps.d.ts +27 -0
  31. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/Balances.sol/index.d.ts +1 -0
  32. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/Balances.sol/index.js +2 -0
  33. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacade.d.ts +147 -80
  34. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeEvents.d.ts +35 -0
  35. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeExtended.d.ts +7 -7
  36. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeV2.d.ts +66 -0
  37. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeV2.js +2 -0
  38. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/index.d.ts +1 -0
  39. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/Balances.sol/BalanceOps__factory.d.ts +28 -0
  40. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/Balances.sol/BalanceOps__factory.js +53 -0
  41. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/Balances.sol/index.d.ts +1 -0
  42. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/Balances.sol/index.js +8 -0
  43. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeEvents__factory.js +45 -0
  44. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeExceptions__factory.js +10 -0
  45. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeExtended__factory.js +0 -5
  46. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeV2__factory.d.ts +18 -0
  47. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacadeV2__factory.js +42 -0
  48. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/ICreditFacade__factory.js +198 -46
  49. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/index.d.ts +1 -0
  50. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditFacade.sol/index.js +3 -1
  51. package/package.json +7 -2
  52. package/lib/core/adapter.d.ts +0 -20
  53. package/lib/core/adapter.js +0 -20
  54. package/lib/core/creditOperation.d.ts +0 -9
  55. package/lib/core/operations.d.ts +0 -22
  56. package/lib/core/operations.js +0 -26
  57. package/lib/core/pool/operation.d.ts +0 -28
  58. package/lib/core/pool/operation.js +0 -36
  59. package/lib/pathfinder/tradeTypes.d.ts +0 -113
  60. package/lib/pathfinder/tradeTypes.js +0 -28
  61. package/lib/strategies/convex.d.ts +0 -57
  62. package/lib/strategies/convex.js +0 -220
  63. package/lib/strategies/creditFacade.d.ts +0 -21
  64. package/lib/strategies/creditFacade.js +0 -71
  65. package/lib/strategies/curve.d.ts +0 -45
  66. package/lib/strategies/curve.js +0 -207
  67. package/lib/strategies/lido.d.ts +0 -18
  68. package/lib/strategies/lido.js +0 -51
  69. package/lib/strategies/uniswapV2.d.ts +0 -15
  70. package/lib/strategies/uniswapV2.js +0 -44
  71. package/lib/strategies/uniswapV3.d.ts +0 -21
  72. package/lib/strategies/uniswapV3.js +0 -71
  73. package/lib/strategies/yearn.d.ts +0 -20
  74. package/lib/strategies/yearn.js +0 -128
  75. package/lib/utils/extracter.d.ts +0 -11
  76. package/lib/utils/extracter.js +0 -19
  77. /package/lib/{core/creditOperation.js → types/@gearbox-protocol/core-v2/contracts/interfaces/Balances.sol/BalanceOps.js} +0 -0
@@ -1,113 +0,0 @@
1
- import type { AaveV2PoolContract, CompoundV2PoolContract, ConvexPoolContract, CurvePoolContract, UniswapV2Contract, YearnVaultContract } from "../contracts/contracts";
2
- import { AaveV2LPToken } from "../tokens/aave";
3
- import { BalancerLPToken } from "../tokens/balancer";
4
- import { CompoundV2LPToken } from "../tokens/compound";
5
- import type { ConvexLPToken, ConvexStakedPhantomToken } from "../tokens/convex";
6
- import type { CurveLPToken } from "../tokens/curveLP";
7
- import type { NormalToken } from "../tokens/normal";
8
- import type { YearnLPToken } from "../tokens/yearn";
9
- export declare enum TradeType {
10
- UniswapV2Swap = 0,
11
- UniswapV3Swap = 1,
12
- CurveExchange = 2,
13
- CurveExchangeUnderlying = 3,
14
- CurveDepositLP = 4,
15
- CurveWithdrawLP = 5,
16
- YearnDeposit = 6,
17
- YearnWithdraw = 7,
18
- LidoStake = 8,
19
- ConvexDepositLP = 9,
20
- ConvexStake = 10,
21
- ConvexDepositLPAndStake = 11,
22
- ConvexWithdrawLP = 12,
23
- ConvexWithdraw = 13,
24
- ConvexWithdrawAndUnwrap = 14,
25
- BalancerJoin = 15,
26
- BalancerExit = 16,
27
- AaveV2Deposit = 17,
28
- AaveV2Withdraw = 18,
29
- AaveV2Unwrap = 19,
30
- CompoundV2Deposit = 20,
31
- CompoundV2Withdraw = 21
32
- }
33
- export type TradeAction = {
34
- type: TradeType.UniswapV2Swap;
35
- contract: UniswapV2Contract;
36
- tokenOut?: NormalToken;
37
- } | {
38
- type: TradeType.UniswapV3Swap;
39
- contract: "UNISWAP_V3_ROUTER";
40
- tokenOut?: NormalToken;
41
- } | {
42
- type: TradeType.CurveExchange;
43
- contract: CurvePoolContract;
44
- tokenOut: Array<NormalToken | CurveLPToken>;
45
- } | {
46
- type: TradeType.CurveDepositLP;
47
- contract: CurvePoolContract;
48
- tokenOut: CurveLPToken;
49
- } | {
50
- type: TradeType.CurveWithdrawLP;
51
- contract: CurvePoolContract;
52
- tokenOut: Array<CurveLPToken | NormalToken>;
53
- } | {
54
- type: TradeType.YearnDeposit;
55
- contract: YearnVaultContract;
56
- tokenOut: YearnLPToken;
57
- } | {
58
- type: TradeType.YearnWithdraw;
59
- contract: YearnVaultContract;
60
- tokenOut: NormalToken | CurveLPToken;
61
- } | {
62
- type: TradeType.LidoStake;
63
- contract: "LIDO_STETH_GATEWAY";
64
- tokenOut: NormalToken;
65
- } | {
66
- type: TradeType.ConvexDepositLP;
67
- contract: "CONVEX_BOOSTER";
68
- tokenOut: ConvexLPToken;
69
- } | {
70
- type: TradeType.ConvexStake;
71
- contract: ConvexPoolContract;
72
- tokenOut: ConvexStakedPhantomToken;
73
- } | {
74
- type: TradeType.ConvexDepositLPAndStake;
75
- contract: "CONVEX_BOOSTER";
76
- tokenOut: ConvexStakedPhantomToken;
77
- } | {
78
- type: TradeType.ConvexWithdrawLP;
79
- contract: "CONVEX_BOOSTER";
80
- tokenOut: CurveLPToken;
81
- } | {
82
- type: TradeType.ConvexWithdraw;
83
- contract: ConvexPoolContract;
84
- tokenOut: ConvexLPToken;
85
- } | {
86
- type: TradeType.ConvexWithdrawAndUnwrap;
87
- contract: ConvexPoolContract;
88
- tokenOut: CurveLPToken;
89
- } | {
90
- type: TradeType.BalancerJoin;
91
- contract: "BALANCER_VAULT";
92
- tokenOut: BalancerLPToken;
93
- } | {
94
- type: TradeType.BalancerExit;
95
- contract: "BALANCER_VAULT";
96
- tokenOut: Array<NormalToken | BalancerLPToken>;
97
- } | {
98
- type: TradeType.AaveV2Deposit;
99
- contract: AaveV2PoolContract;
100
- tokenOut: AaveV2LPToken;
101
- } | {
102
- type: TradeType.AaveV2Withdraw;
103
- contract: AaveV2PoolContract;
104
- tokenOut: NormalToken;
105
- } | {
106
- type: TradeType.CompoundV2Deposit;
107
- contract: CompoundV2PoolContract;
108
- tokenOut: CompoundV2LPToken;
109
- } | {
110
- type: TradeType.CompoundV2Withdraw;
111
- contract: CompoundV2PoolContract;
112
- tokenOut: NormalToken;
113
- };
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TradeType = void 0;
4
- var TradeType;
5
- (function (TradeType) {
6
- TradeType[TradeType["UniswapV2Swap"] = 0] = "UniswapV2Swap";
7
- TradeType[TradeType["UniswapV3Swap"] = 1] = "UniswapV3Swap";
8
- TradeType[TradeType["CurveExchange"] = 2] = "CurveExchange";
9
- TradeType[TradeType["CurveExchangeUnderlying"] = 3] = "CurveExchangeUnderlying";
10
- TradeType[TradeType["CurveDepositLP"] = 4] = "CurveDepositLP";
11
- TradeType[TradeType["CurveWithdrawLP"] = 5] = "CurveWithdrawLP";
12
- TradeType[TradeType["YearnDeposit"] = 6] = "YearnDeposit";
13
- TradeType[TradeType["YearnWithdraw"] = 7] = "YearnWithdraw";
14
- TradeType[TradeType["LidoStake"] = 8] = "LidoStake";
15
- TradeType[TradeType["ConvexDepositLP"] = 9] = "ConvexDepositLP";
16
- TradeType[TradeType["ConvexStake"] = 10] = "ConvexStake";
17
- TradeType[TradeType["ConvexDepositLPAndStake"] = 11] = "ConvexDepositLPAndStake";
18
- TradeType[TradeType["ConvexWithdrawLP"] = 12] = "ConvexWithdrawLP";
19
- TradeType[TradeType["ConvexWithdraw"] = 13] = "ConvexWithdraw";
20
- TradeType[TradeType["ConvexWithdrawAndUnwrap"] = 14] = "ConvexWithdrawAndUnwrap";
21
- TradeType[TradeType["BalancerJoin"] = 15] = "BalancerJoin";
22
- TradeType[TradeType["BalancerExit"] = 16] = "BalancerExit";
23
- TradeType[TradeType["AaveV2Deposit"] = 17] = "AaveV2Deposit";
24
- TradeType[TradeType["AaveV2Withdraw"] = 18] = "AaveV2Withdraw";
25
- TradeType[TradeType["AaveV2Unwrap"] = 19] = "AaveV2Unwrap";
26
- TradeType[TradeType["CompoundV2Deposit"] = 20] = "CompoundV2Deposit";
27
- TradeType[TradeType["CompoundV2Withdraw"] = 21] = "CompoundV2Withdraw";
28
- })(TradeType = exports.TradeType || (exports.TradeType = {}));
@@ -1,57 +0,0 @@
1
- import { BigNumberish } from "ethers";
2
- import { ConvexPoolContract } from "../contracts/contracts";
3
- import { NetworkType } from "../core/chains";
4
- import { CreditManagerData } from "../core/creditManager";
5
- import { MultiCallStruct } from "../types/@gearbox-protocol/router/contracts/interfaces/IClosePathResolver";
6
- export declare class ConvexBoosterCalls {
7
- static deposit(pid: BigNumberish, amount: BigNumberish, stake: boolean): string;
8
- static depositAll(pid: BigNumberish, stake: boolean): string;
9
- static withdraw(pid: BigNumberish, amount: BigNumberish): string;
10
- static withdrawAll(pid: BigNumberish): string;
11
- }
12
- export declare class ConvexPoolCalls {
13
- static stake(amount: BigNumberish): string;
14
- static stakeAll(): string;
15
- static withdraw(amount: BigNumberish, claim: boolean): string;
16
- static withdrawAll(claim: boolean): string;
17
- static withdrawAndUnwrap(amount: BigNumberish, claim: boolean): string;
18
- static withdrawAllAndUnwrap(claim: boolean): string;
19
- }
20
- export declare class ConvexClaimZapCalls {
21
- static claimRewards(rewardContracts: Array<string>, extraRewardContracts: Array<string>, tokenRewardContracts: Array<string>, tokenRewardTokens: Array<string>, depositCrvMaxAmount: BigNumberish, minAmountOut: BigNumberish, depositCvxMaxAmount: BigNumberish, spendCvxAmount: BigNumberish, options: BigNumberish): string;
22
- }
23
- export declare class ConvexBoosterMulticaller {
24
- private readonly _address;
25
- constructor(address: string);
26
- static connect(address: string): ConvexBoosterMulticaller;
27
- deposit(pid: BigNumberish, amount: BigNumberish, stake: boolean): MultiCallStruct;
28
- depositAll(pid: BigNumberish, stake: boolean): MultiCallStruct;
29
- withdraw(pid: BigNumberish, amount: BigNumberish): MultiCallStruct;
30
- withdrawAll(pid: BigNumberish): MultiCallStruct;
31
- }
32
- export declare class ConvexPoolMulticaller {
33
- private readonly _address;
34
- constructor(address: string);
35
- static connect(address: string): ConvexPoolMulticaller;
36
- stake(amount: BigNumberish): MultiCallStruct;
37
- stakeAll(): MultiCallStruct;
38
- withdraw(amount: BigNumberish, claim: boolean): MultiCallStruct;
39
- withdrawAll(claim: boolean): MultiCallStruct;
40
- withdrawAndUnwrap(amount: BigNumberish, claim: boolean): MultiCallStruct;
41
- withdrawAllAndUnwrap(claim: boolean): {
42
- target: string;
43
- callData: string;
44
- };
45
- }
46
- export declare class ConvexClaimZapMulticaller {
47
- private readonly _address;
48
- constructor(address: string);
49
- static connect(address: string): ConvexClaimZapMulticaller;
50
- claimRewards(rewardContracts: Array<string>, extraRewardContracts: Array<string>, tokenRewardContracts: Array<string>, tokenRewardTokens: Array<string>, depositCrvMaxAmount: BigNumberish, minAmountOut: BigNumberish, depositCvxMaxAmount: BigNumberish, spendCvxAmount: BigNumberish, options: BigNumberish): MultiCallStruct;
51
- }
52
- export declare class ConvexStrategies {
53
- static underlyingToStakedConvex(data: CreditManagerData, network: NetworkType, convexPool: ConvexPoolContract, underlyingAmount: BigNumberish): MultiCallStruct[];
54
- static stakedConvexToUnderlying(data: CreditManagerData, network: NetworkType, convexPool: ConvexPoolContract, convexLpAmount: BigNumberish, sellRewards: boolean): MultiCallStruct[];
55
- static allStakedConvexToUnderlying(data: CreditManagerData, network: NetworkType, convexPool: ConvexPoolContract, sellRewards: boolean): MultiCallStruct[];
56
- static sellRewards(data: CreditManagerData, network: NetworkType, convexPool: ConvexPoolContract): MultiCallStruct[];
57
- }
@@ -1,220 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConvexStrategies = exports.ConvexClaimZapMulticaller = exports.ConvexPoolMulticaller = exports.ConvexBoosterMulticaller = exports.ConvexClaimZapCalls = exports.ConvexPoolCalls = exports.ConvexBoosterCalls = void 0;
4
- const contracts_1 = require("../contracts/contracts");
5
- const token_1 = require("../tokens/token");
6
- const types_1 = require("../types");
7
- const curve_1 = require("./curve");
8
- const uniswapV2_1 = require("./uniswapV2");
9
- class ConvexBoosterCalls {
10
- static deposit(pid, amount, stake) {
11
- return types_1.IBooster__factory.createInterface().encodeFunctionData("deposit", [
12
- pid,
13
- amount,
14
- stake,
15
- ]);
16
- }
17
- static depositAll(pid, stake) {
18
- return types_1.IBooster__factory.createInterface().encodeFunctionData("depositAll", [pid, stake]);
19
- }
20
- static withdraw(pid, amount) {
21
- return types_1.IBooster__factory.createInterface().encodeFunctionData("withdraw", [
22
- pid,
23
- amount,
24
- ]);
25
- }
26
- static withdrawAll(pid) {
27
- return types_1.IBooster__factory.createInterface().encodeFunctionData("withdrawAll", [pid]);
28
- }
29
- }
30
- exports.ConvexBoosterCalls = ConvexBoosterCalls;
31
- class ConvexPoolCalls {
32
- static stake(amount) {
33
- return types_1.IConvexV1BaseRewardPoolAdapter__factory.createInterface().encodeFunctionData("stake", [amount]);
34
- }
35
- static stakeAll() {
36
- return types_1.IConvexV1BaseRewardPoolAdapter__factory.createInterface().encodeFunctionData("stakeAll");
37
- }
38
- static withdraw(amount, claim) {
39
- return types_1.IConvexV1BaseRewardPoolAdapter__factory.createInterface().encodeFunctionData("withdraw", [amount, claim]);
40
- }
41
- static withdrawAll(claim) {
42
- return types_1.IConvexV1BaseRewardPoolAdapter__factory.createInterface().encodeFunctionData("withdrawAll", [claim]);
43
- }
44
- static withdrawAndUnwrap(amount, claim) {
45
- return types_1.IConvexV1BaseRewardPoolAdapter__factory.createInterface().encodeFunctionData("withdrawAndUnwrap", [amount, claim]);
46
- }
47
- static withdrawAllAndUnwrap(claim) {
48
- return types_1.IConvexV1BaseRewardPoolAdapter__factory.createInterface().encodeFunctionData("withdrawAllAndUnwrap", [claim]);
49
- }
50
- }
51
- exports.ConvexPoolCalls = ConvexPoolCalls;
52
- class ConvexClaimZapCalls {
53
- static claimRewards(rewardContracts, extraRewardContracts, tokenRewardContracts, tokenRewardTokens, depositCrvMaxAmount, minAmountOut, depositCvxMaxAmount, spendCvxAmount, options) {
54
- return types_1.IClaimZap__factory.createInterface().encodeFunctionData("claimRewards", [
55
- rewardContracts,
56
- extraRewardContracts,
57
- tokenRewardContracts,
58
- tokenRewardTokens,
59
- depositCrvMaxAmount,
60
- minAmountOut,
61
- depositCvxMaxAmount,
62
- spendCvxAmount,
63
- options,
64
- ]);
65
- }
66
- }
67
- exports.ConvexClaimZapCalls = ConvexClaimZapCalls;
68
- class ConvexBoosterMulticaller {
69
- _address;
70
- constructor(address) {
71
- this._address = address;
72
- }
73
- static connect(address) {
74
- return new ConvexBoosterMulticaller(address);
75
- }
76
- deposit(pid, amount, stake) {
77
- return {
78
- target: this._address,
79
- callData: ConvexBoosterCalls.deposit(pid, amount, stake),
80
- };
81
- }
82
- depositAll(pid, stake) {
83
- return {
84
- target: this._address,
85
- callData: ConvexBoosterCalls.depositAll(pid, stake),
86
- };
87
- }
88
- withdraw(pid, amount) {
89
- return {
90
- target: this._address,
91
- callData: ConvexBoosterCalls.withdraw(pid, amount),
92
- };
93
- }
94
- withdrawAll(pid) {
95
- return {
96
- target: this._address,
97
- callData: ConvexBoosterCalls.withdrawAll(pid),
98
- };
99
- }
100
- }
101
- exports.ConvexBoosterMulticaller = ConvexBoosterMulticaller;
102
- class ConvexPoolMulticaller {
103
- _address;
104
- constructor(address) {
105
- this._address = address;
106
- }
107
- static connect(address) {
108
- return new ConvexPoolMulticaller(address);
109
- }
110
- stake(amount) {
111
- return {
112
- target: this._address,
113
- callData: ConvexPoolCalls.stake(amount),
114
- };
115
- }
116
- stakeAll() {
117
- return {
118
- target: this._address,
119
- callData: ConvexPoolCalls.stakeAll(),
120
- };
121
- }
122
- withdraw(amount, claim) {
123
- return {
124
- target: this._address,
125
- callData: ConvexPoolCalls.withdraw(amount, claim),
126
- };
127
- }
128
- withdrawAll(claim) {
129
- return {
130
- target: this._address,
131
- callData: ConvexPoolCalls.withdrawAll(claim),
132
- };
133
- }
134
- withdrawAndUnwrap(amount, claim) {
135
- return {
136
- target: this._address,
137
- callData: ConvexPoolCalls.withdrawAndUnwrap(amount, claim),
138
- };
139
- }
140
- withdrawAllAndUnwrap(claim) {
141
- return {
142
- target: this._address,
143
- callData: ConvexPoolCalls.withdrawAllAndUnwrap(claim),
144
- };
145
- }
146
- }
147
- exports.ConvexPoolMulticaller = ConvexPoolMulticaller;
148
- class ConvexClaimZapMulticaller {
149
- _address;
150
- constructor(address) {
151
- this._address = address;
152
- }
153
- static connect(address) {
154
- return new ConvexClaimZapMulticaller(address);
155
- }
156
- claimRewards(rewardContracts, extraRewardContracts, tokenRewardContracts, tokenRewardTokens, depositCrvMaxAmount, minAmountOut, depositCvxMaxAmount, spendCvxAmount, options) {
157
- return {
158
- target: this._address,
159
- callData: ConvexClaimZapCalls.claimRewards(rewardContracts, extraRewardContracts, tokenRewardContracts, tokenRewardTokens, depositCrvMaxAmount, minAmountOut, depositCvxMaxAmount, spendCvxAmount, options),
160
- };
161
- }
162
- }
163
- exports.ConvexClaimZapMulticaller = ConvexClaimZapMulticaller;
164
- class ConvexStrategies {
165
- static underlyingToStakedConvex(data, network, convexPool, underlyingAmount) {
166
- let calls = [];
167
- const convexParams = contracts_1.contractParams[convexPool];
168
- const { stakedToken } = convexParams;
169
- const stakedTokenParams = token_1.supportedTokens[stakedToken];
170
- const curveLpToken = stakedTokenParams.underlying;
171
- const curveLpTokenData = token_1.supportedTokens[curveLpToken];
172
- const curvePool = curveLpTokenData.pool;
173
- calls = curve_1.CurveStrategies.underlyingToCurveLP(data, network, curvePool, underlyingAmount);
174
- calls.push(ConvexBoosterMulticaller.connect(data.adapters[contracts_1.contractsByNetwork[network].CONVEX_BOOSTER.toLowerCase()]).depositAll(stakedTokenParams.pid, true));
175
- return calls;
176
- }
177
- static stakedConvexToUnderlying(data, network, convexPool, convexLpAmount, sellRewards) {
178
- const calls = [];
179
- const convexParams = contracts_1.contractParams[convexPool];
180
- const { stakedToken } = convexParams;
181
- const stakedTokenParams = token_1.supportedTokens[stakedToken];
182
- const curveLpToken = stakedTokenParams.underlying;
183
- const curveLpTokenData = token_1.supportedTokens[curveLpToken];
184
- const curvePool = curveLpTokenData.pool;
185
- calls.push(ConvexPoolMulticaller.connect(data.adapters[contracts_1.contractsByNetwork[network][convexPool].toLowerCase()]).withdrawAndUnwrap(convexLpAmount, true));
186
- calls.push(...curve_1.CurveStrategies.allCurveLPToUnderlying(data, network, curvePool));
187
- if (sellRewards) {
188
- calls.push(...ConvexStrategies.sellRewards(data, network, convexPool));
189
- }
190
- return calls;
191
- }
192
- static allStakedConvexToUnderlying(data, network, convexPool, sellRewards) {
193
- const calls = [];
194
- const convexParams = contracts_1.contractParams[convexPool];
195
- const { stakedToken } = convexParams;
196
- const stakedTokenParams = token_1.supportedTokens[stakedToken];
197
- const curveLpToken = stakedTokenParams.underlying;
198
- const curveLpTokenData = token_1.supportedTokens[curveLpToken];
199
- const curvePool = curveLpTokenData.pool;
200
- calls.push(ConvexPoolMulticaller.connect(data.adapters[contracts_1.contractsByNetwork[network][convexPool].toLowerCase()]).withdrawAllAndUnwrap(true));
201
- calls.push(...curve_1.CurveStrategies.allCurveLPToUnderlying(data, network, curvePool));
202
- if (sellRewards) {
203
- calls.push(...ConvexStrategies.sellRewards(data, network, convexPool));
204
- }
205
- return calls;
206
- }
207
- static sellRewards(data, network, convexPool) {
208
- const calls = [];
209
- const convexParams = contracts_1.contractParams[convexPool];
210
- calls.push(uniswapV2_1.UniswapV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()]).swapAllTokensForTokens(0, [token_1.tokenDataByNetwork[network].CRV, data.underlyingToken], Math.floor(new Date().getTime() / 1000) + 3600), uniswapV2_1.UniswapV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()]).swapAllTokensForTokens(0, [token_1.tokenDataByNetwork[network].CVX, data.underlyingToken], Math.floor(new Date().getTime() / 1000) + 3600));
211
- convexParams.extraRewards.forEach(extraReward => {
212
- uniswapV2_1.UniswapV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()]).swapAllTokensForTokens(0, [
213
- token_1.tokenDataByNetwork[network][extraReward.rewardToken],
214
- data.underlyingToken,
215
- ], Math.floor(new Date().getTime() / 1000) + 3600);
216
- });
217
- return calls;
218
- }
219
- }
220
- exports.ConvexStrategies = ConvexStrategies;
@@ -1,21 +0,0 @@
1
- import { BigNumberish } from "ethers";
2
- import { MultiCallStruct } from "../types/@gearbox-protocol/router/contracts/interfaces/IClosePathResolver";
3
- export declare class CreditFacadeCalls {
4
- static addCollateral(onBehalfOf: string, token: string, amount: BigNumberish): string;
5
- static increaseDebt(amount: BigNumberish): string;
6
- static decreaseDebt(amount: BigNumberish): string;
7
- static revertIfBalanceLessThan(token: string, minBalance: BigNumberish): string;
8
- static disableToken(token: string): string;
9
- static enableToken(token: string): string;
10
- }
11
- export declare class CreditFacadeMulticaller {
12
- private readonly _address;
13
- constructor(address: string);
14
- static connect(address: string): CreditFacadeMulticaller;
15
- addCollateral(onBehalfOf: string, token: string, amount: BigNumberish): MultiCallStruct;
16
- increaseDebt(amount: BigNumberish): MultiCallStruct;
17
- decreaseDebt(amount: BigNumberish): MultiCallStruct;
18
- revertIfBalanceLessThan(token: string, minBalance: BigNumberish): MultiCallStruct;
19
- disableToken(token: string): MultiCallStruct;
20
- enableToken(token: string): MultiCallStruct;
21
- }
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CreditFacadeMulticaller = exports.CreditFacadeCalls = void 0;
4
- const types_1 = require("../types");
5
- class CreditFacadeCalls {
6
- static addCollateral(onBehalfOf, token, amount) {
7
- return types_1.ICreditFacade__factory.createInterface().encodeFunctionData("addCollateral", [onBehalfOf, token, amount]);
8
- }
9
- static increaseDebt(amount) {
10
- return types_1.ICreditFacade__factory.createInterface().encodeFunctionData("increaseDebt", [amount]);
11
- }
12
- static decreaseDebt(amount) {
13
- return types_1.ICreditFacade__factory.createInterface().encodeFunctionData("decreaseDebt", [amount]);
14
- }
15
- static revertIfBalanceLessThan(token, minBalance) {
16
- return types_1.ICreditFacadeExtended__factory.createInterface().encodeFunctionData("revertIfReceivedLessThan", [[{ token, balance: minBalance }]]);
17
- }
18
- static disableToken(token) {
19
- return types_1.ICreditFacadeExtended__factory.createInterface().encodeFunctionData("disableToken", [token]);
20
- }
21
- static enableToken(token) {
22
- return types_1.ICreditFacade__factory.createInterface().encodeFunctionData("enableToken", [token]);
23
- }
24
- }
25
- exports.CreditFacadeCalls = CreditFacadeCalls;
26
- class CreditFacadeMulticaller {
27
- _address;
28
- constructor(address) {
29
- this._address = address;
30
- }
31
- static connect(address) {
32
- return new CreditFacadeMulticaller(address);
33
- }
34
- addCollateral(onBehalfOf, token, amount) {
35
- return {
36
- target: this._address,
37
- callData: CreditFacadeCalls.addCollateral(onBehalfOf, token, amount),
38
- };
39
- }
40
- increaseDebt(amount) {
41
- return {
42
- target: this._address,
43
- callData: CreditFacadeCalls.increaseDebt(amount),
44
- };
45
- }
46
- decreaseDebt(amount) {
47
- return {
48
- target: this._address,
49
- callData: CreditFacadeCalls.decreaseDebt(amount),
50
- };
51
- }
52
- revertIfBalanceLessThan(token, minBalance) {
53
- return {
54
- target: this._address,
55
- callData: CreditFacadeCalls.revertIfBalanceLessThan(token, minBalance),
56
- };
57
- }
58
- disableToken(token) {
59
- return {
60
- target: this._address,
61
- callData: CreditFacadeCalls.disableToken(token),
62
- };
63
- }
64
- enableToken(token) {
65
- return {
66
- target: this._address,
67
- callData: CreditFacadeCalls.enableToken(token),
68
- };
69
- }
70
- }
71
- exports.CreditFacadeMulticaller = CreditFacadeMulticaller;
@@ -1,45 +0,0 @@
1
- import { BigNumberish } from "ethers";
2
- import { CurvePoolContract } from "../contracts/contracts";
3
- import { NetworkType } from "../core/chains";
4
- import { CreditManagerData } from "../core/creditManager";
5
- import { MultiCallStruct } from "../types/@gearbox-protocol/router/contracts/interfaces/IClosePathResolver";
6
- export declare class CurveCalls {
7
- static exchange(i: BigNumberish, j: BigNumberish, dx: BigNumberish, min_dy: BigNumberish): string;
8
- static exchange_all(i: BigNumberish, j: BigNumberish, rateMinRAY: BigNumberish): string;
9
- static exchange_underlying(i: BigNumberish, j: BigNumberish, dx: BigNumberish, min_dy: BigNumberish): string;
10
- static exchange_all_underlying(i: BigNumberish, j: BigNumberish, rateMinRAY: BigNumberish): string;
11
- static add_liquidity_one_coin(amount: BigNumberish, i: BigNumberish, minAmount: BigNumberish): string;
12
- static add_all_liquidity_one_coin(i: BigNumberish, rateMinRAY: BigNumberish): string;
13
- static remove_liquidity_one_coin(token_amount: BigNumberish, i: BigNumberish, min_amount: BigNumberish): string;
14
- static remove_all_liquidity_one_coin(i: BigNumberish, minRateRAY: BigNumberish): string;
15
- static add_liquidity(amounts: [BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish, BigNumberish], min_mint_amount: BigNumberish): string;
16
- static remove_liquidity(amount: BigNumberish, min_amounts: [BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish, BigNumberish]): string;
17
- static remove_liquidity_imbalance(amounts: [BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish, BigNumberish], max_burn_amount: BigNumberish): string;
18
- }
19
- export declare class CurveMulticaller {
20
- private readonly _address;
21
- constructor(address: string);
22
- static connect(address: string): CurveMulticaller;
23
- exchange(i: BigNumberish, j: BigNumberish, dx: BigNumberish, min_dy: BigNumberish): MultiCallStruct;
24
- exchange_all(i: BigNumberish, j: BigNumberish, rateMinRAY: BigNumberish): MultiCallStruct;
25
- exchange_underlying(i: BigNumberish, j: BigNumberish, dx: BigNumberish, min_dy: BigNumberish): MultiCallStruct;
26
- exchange_all_underlying(i: BigNumberish, j: BigNumberish, rateMinRAY: BigNumberish): MultiCallStruct;
27
- add_liquidity_one_coin(amount: BigNumberish, i: BigNumberish, minAmount: BigNumberish): MultiCallStruct;
28
- add_all_liquidity_one_coin(i: BigNumberish, rateMinRAY: BigNumberish): MultiCallStruct;
29
- remove_liquidity_one_coin(token_amount: BigNumberish, i: BigNumberish, min_amount: BigNumberish): {
30
- target: string;
31
- callData: string;
32
- };
33
- remove_all_liquidity_one_coin(i: BigNumberish, minRateRAY: BigNumberish): {
34
- target: string;
35
- callData: string;
36
- };
37
- add_liquidity(amounts: [BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish, BigNumberish], min_mint_amount: BigNumberish): MultiCallStruct;
38
- remove_liquidity(amount: BigNumberish, min_amounts: [BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish, BigNumberish]): MultiCallStruct;
39
- remove_liquidity_imbalance(amounts: [BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish] | [BigNumberish, BigNumberish, BigNumberish, BigNumberish], max_burn_amount: BigNumberish): MultiCallStruct;
40
- }
41
- export declare class CurveStrategies {
42
- static underlyingToCurveLP(data: CreditManagerData, network: NetworkType, curvePool: CurvePoolContract, underlyingAmount: BigNumberish): MultiCallStruct[];
43
- static curveLPToUnderlying(data: CreditManagerData, network: NetworkType, curvePool: CurvePoolContract, curveLPAmount: BigNumberish): MultiCallStruct[];
44
- static allCurveLPToUnderlying(data: CreditManagerData, network: NetworkType, curvePool: CurvePoolContract): MultiCallStruct[];
45
- }