@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,207 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CurveStrategies = exports.CurveMulticaller = exports.CurveCalls = void 0;
4
- const contracts_1 = require("../contracts/contracts");
5
- const constants_1 = require("../core/constants");
6
- const token_1 = require("../tokens/token");
7
- const types_1 = require("../types");
8
- const uniswapV2_1 = require("./uniswapV2");
9
- class CurveCalls {
10
- static exchange(i, j, dx, min_dy) {
11
- return types_1.ICurveV1Adapter__factory.createInterface().encodeFunctionData("exchange", [i, j, dx, min_dy]);
12
- }
13
- static exchange_all(i, j, rateMinRAY) {
14
- return types_1.ICurveV1Adapter__factory.createInterface().encodeFunctionData("exchange_all", [i, j, rateMinRAY]);
15
- }
16
- static exchange_underlying(i, j, dx, min_dy) {
17
- return types_1.ICurveV1Adapter__factory.createInterface().encodeFunctionData("exchange_underlying", [i, j, dx, min_dy]);
18
- }
19
- static exchange_all_underlying(i, j, rateMinRAY) {
20
- return types_1.ICurveV1Adapter__factory.createInterface().encodeFunctionData("exchange_all_underlying", [i, j, rateMinRAY]);
21
- }
22
- static add_liquidity_one_coin(amount, i, minAmount) {
23
- return types_1.ICurveV1Adapter__factory.createInterface().encodeFunctionData("add_liquidity_one_coin", [amount, i, minAmount]);
24
- }
25
- static add_all_liquidity_one_coin(i, rateMinRAY) {
26
- return types_1.ICurveV1Adapter__factory.createInterface().encodeFunctionData("add_all_liquidity_one_coin", [i, rateMinRAY]);
27
- }
28
- static remove_liquidity_one_coin(token_amount, i, min_amount) {
29
- return types_1.ICurveV1Adapter__factory.createInterface().encodeFunctionData("remove_liquidity_one_coin", [token_amount, i, min_amount]);
30
- }
31
- static remove_all_liquidity_one_coin(i, minRateRAY) {
32
- return types_1.ICurveV1Adapter__factory.createInterface().encodeFunctionData("remove_all_liquidity_one_coin", [i, minRateRAY]);
33
- }
34
- static add_liquidity(amounts, min_mint_amount) {
35
- switch (amounts.length) {
36
- case 2:
37
- return types_1.ICurvePool2Assets__factory.createInterface().encodeFunctionData("add_liquidity", [amounts, min_mint_amount]);
38
- case 3:
39
- return types_1.ICurvePool3Assets__factory.createInterface().encodeFunctionData("add_liquidity", [amounts, min_mint_amount]);
40
- case 4:
41
- return types_1.ICurvePool4Assets__factory.createInterface().encodeFunctionData("add_liquidity", [amounts, min_mint_amount]);
42
- default:
43
- throw new Error("Wrong calls number: add_liquidity");
44
- }
45
- }
46
- static remove_liquidity(amount, min_amounts) {
47
- switch (min_amounts.length) {
48
- case 2:
49
- return types_1.ICurvePool2Assets__factory.createInterface().encodeFunctionData("remove_liquidity", [amount, min_amounts]);
50
- case 3:
51
- return types_1.ICurvePool3Assets__factory.createInterface().encodeFunctionData("remove_liquidity", [amount, min_amounts]);
52
- case 4:
53
- return types_1.ICurvePool4Assets__factory.createInterface().encodeFunctionData("remove_liquidity", [amount, min_amounts]);
54
- default:
55
- throw new Error("Wrong calls number: remove_liquidity");
56
- }
57
- }
58
- static remove_liquidity_imbalance(amounts, max_burn_amount) {
59
- switch (amounts.length) {
60
- case 2:
61
- return types_1.ICurvePool2Assets__factory.createInterface().encodeFunctionData("remove_liquidity_imbalance", [amounts, max_burn_amount]);
62
- case 3:
63
- return types_1.ICurvePool3Assets__factory.createInterface().encodeFunctionData("remove_liquidity_imbalance", [amounts, max_burn_amount]);
64
- case 4:
65
- return types_1.ICurvePool4Assets__factory.createInterface().encodeFunctionData("remove_liquidity_imbalance", [amounts, max_burn_amount]);
66
- default:
67
- throw new Error("Wrong calls number: remove_liquidity_imbalance");
68
- }
69
- }
70
- }
71
- exports.CurveCalls = CurveCalls;
72
- class CurveMulticaller {
73
- _address;
74
- constructor(address) {
75
- this._address = address;
76
- }
77
- static connect(address) {
78
- return new CurveMulticaller(address);
79
- }
80
- exchange(i, j, dx, min_dy) {
81
- return {
82
- target: this._address,
83
- callData: CurveCalls.exchange(i, j, dx, min_dy),
84
- };
85
- }
86
- exchange_all(i, j, rateMinRAY) {
87
- return {
88
- target: this._address,
89
- callData: CurveCalls.exchange_all(i, j, rateMinRAY),
90
- };
91
- }
92
- exchange_underlying(i, j, dx, min_dy) {
93
- return {
94
- target: this._address,
95
- callData: CurveCalls.exchange_underlying(i, j, dx, min_dy),
96
- };
97
- }
98
- exchange_all_underlying(i, j, rateMinRAY) {
99
- return {
100
- target: this._address,
101
- callData: CurveCalls.exchange_all_underlying(i, j, rateMinRAY),
102
- };
103
- }
104
- add_liquidity_one_coin(amount, i, minAmount) {
105
- return {
106
- target: this._address,
107
- callData: CurveCalls.add_liquidity_one_coin(amount, i, minAmount),
108
- };
109
- }
110
- add_all_liquidity_one_coin(i, rateMinRAY) {
111
- return {
112
- target: this._address,
113
- callData: CurveCalls.add_all_liquidity_one_coin(i, rateMinRAY),
114
- };
115
- }
116
- remove_liquidity_one_coin(token_amount, i, min_amount) {
117
- return {
118
- target: this._address,
119
- callData: CurveCalls.remove_liquidity_one_coin(token_amount, i, min_amount),
120
- };
121
- }
122
- remove_all_liquidity_one_coin(i, minRateRAY) {
123
- return {
124
- target: this._address,
125
- callData: CurveCalls.remove_all_liquidity_one_coin(i, minRateRAY),
126
- };
127
- }
128
- add_liquidity(amounts, min_mint_amount) {
129
- return {
130
- target: this._address,
131
- callData: CurveCalls.add_liquidity(amounts, min_mint_amount),
132
- };
133
- }
134
- remove_liquidity(amount, min_amounts) {
135
- return {
136
- target: this._address,
137
- callData: CurveCalls.remove_liquidity(amount, min_amounts),
138
- };
139
- }
140
- remove_liquidity_imbalance(amounts, max_burn_amount) {
141
- return {
142
- target: this._address,
143
- callData: CurveCalls.remove_liquidity_imbalance(amounts, max_burn_amount),
144
- };
145
- }
146
- }
147
- exports.CurveMulticaller = CurveMulticaller;
148
- class CurveStrategies {
149
- static underlyingToCurveLP(data, network, curvePool, underlyingAmount) {
150
- const calls = [];
151
- const curveParams = contracts_1.contractParams[curvePool];
152
- const tokenToDeposit = curveParams.tokens[0];
153
- if (data.underlyingToken.toLowerCase() !==
154
- token_1.tokenDataByNetwork[network][tokenToDeposit].toLowerCase()) {
155
- 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));
156
- }
157
- else {
158
- calls.push(CurveMulticaller.connect(data.adapters[contracts_1.contractsByNetwork[network][curvePool].toLowerCase()]).add_liquidity_one_coin(underlyingAmount, 0, 0));
159
- }
160
- return calls;
161
- }
162
- static curveLPToUnderlying(data, network, curvePool, curveLPAmount) {
163
- const calls = [];
164
- const curveParams = contracts_1.contractParams[curvePool];
165
- let curveContractAddress;
166
- if (curveParams.wrapper) {
167
- curveContractAddress =
168
- data.adapters[contracts_1.contractsByNetwork[network][curveParams.wrapper].toLowerCase()];
169
- }
170
- else {
171
- curveContractAddress =
172
- data.adapters[contracts_1.contractsByNetwork[network][curvePool].toLowerCase()];
173
- }
174
- calls.push(CurveMulticaller.connect(curveContractAddress).remove_liquidity_one_coin(curveLPAmount, 0, 0));
175
- if (token_1.tokenDataByNetwork[network][curveParams.tokens[0]].toLowerCase() !==
176
- data.underlyingToken.toLowerCase()) {
177
- calls.push(uniswapV2_1.UniswapV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()]).swapAllTokensForTokens(0, [
178
- token_1.tokenDataByNetwork[network][curveParams.tokens[0]],
179
- data.underlyingToken,
180
- ], Math.floor(new Date().getTime() / 1000) + 3600));
181
- }
182
- return calls;
183
- }
184
- static allCurveLPToUnderlying(data, network, curvePool) {
185
- const calls = [];
186
- const curveParams = contracts_1.contractParams[curvePool];
187
- let curveContractAddress;
188
- if (curveParams.wrapper) {
189
- curveContractAddress =
190
- data.adapters[contracts_1.contractsByNetwork[network][curveParams.wrapper].toLowerCase()];
191
- }
192
- else {
193
- curveContractAddress =
194
- data.adapters[contracts_1.contractsByNetwork[network][curvePool].toLowerCase()];
195
- }
196
- calls.push(CurveMulticaller.connect(curveContractAddress).remove_all_liquidity_one_coin(0, 0));
197
- if (token_1.tokenDataByNetwork[network][curveParams.tokens[0]].toLowerCase() !==
198
- data.underlyingToken.toLowerCase()) {
199
- calls.push(uniswapV2_1.UniswapV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()]).swapAllTokensForTokens(0, [
200
- token_1.tokenDataByNetwork[network][curveParams.tokens[0]],
201
- data.underlyingToken,
202
- ], Math.floor(new Date().getTime() / 1000) + 3600));
203
- }
204
- return calls;
205
- }
206
- }
207
- exports.CurveStrategies = CurveStrategies;
@@ -1,18 +0,0 @@
1
- import { BigNumberish } from "ethers";
2
- import { NetworkType } from "../core/chains";
3
- import { CreditManagerData } from "../core/creditManager";
4
- import { MultiCallStruct } from "../types/@gearbox-protocol/router/contracts/interfaces/IClosePathResolver";
5
- export declare class LidoCalls {
6
- static submit(amount: BigNumberish): string;
7
- static submitAll(): string;
8
- }
9
- export declare class LidoMulticaller {
10
- private readonly _address;
11
- constructor(address: string);
12
- static connect(address: string): LidoMulticaller;
13
- submit(amount: BigNumberish): MultiCallStruct;
14
- submitAll(): MultiCallStruct;
15
- }
16
- export declare class LidoStrategies {
17
- static mintSteth(data: CreditManagerData, network: NetworkType, underlyingAmount: BigNumberish): MultiCallStruct[];
18
- }
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LidoStrategies = exports.LidoMulticaller = exports.LidoCalls = void 0;
4
- const contracts_1 = require("../contracts/contracts");
5
- const constants_1 = require("../core/constants");
6
- const token_1 = require("../tokens/token");
7
- const types_1 = require("../types");
8
- const uniswapV2_1 = require("./uniswapV2");
9
- class LidoCalls {
10
- static submit(amount) {
11
- return types_1.ILidoV1Adapter__factory.createInterface().encodeFunctionData("submit", [amount]);
12
- }
13
- static submitAll() {
14
- return types_1.ILidoV1Adapter__factory.createInterface().encodeFunctionData("submitAll");
15
- }
16
- }
17
- exports.LidoCalls = LidoCalls;
18
- class LidoMulticaller {
19
- _address;
20
- constructor(address) {
21
- this._address = address;
22
- }
23
- static connect(address) {
24
- return new LidoMulticaller(address);
25
- }
26
- submit(amount) {
27
- return {
28
- target: this._address,
29
- callData: LidoCalls.submit(amount),
30
- };
31
- }
32
- submitAll() {
33
- return {
34
- target: this._address,
35
- callData: LidoCalls.submitAll(),
36
- };
37
- }
38
- }
39
- exports.LidoMulticaller = LidoMulticaller;
40
- class LidoStrategies {
41
- static mintSteth(data, network, underlyingAmount) {
42
- const calls = [];
43
- // This should be a pathfinder call
44
- if (!data.isWETH) {
45
- 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].WETH], constants_1.ADDRESS_0X0, Math.floor(new Date().getTime() / 1000) + 3600));
46
- }
47
- calls.push(LidoMulticaller.connect(data.adapters[contracts_1.contractsByNetwork[network].LIDO_STETH_GATEWAY.toLowerCase()]).submitAll());
48
- return calls;
49
- }
50
- }
51
- exports.LidoStrategies = LidoStrategies;
@@ -1,15 +0,0 @@
1
- import { BigNumberish } from "ethers";
2
- import { MultiCallStruct } from "../types/@gearbox-protocol/router/contracts/interfaces/IClosePathResolver";
3
- export declare class UniswapV2Calls {
4
- static swapExactTokensForTokens(amountIn: BigNumberish, amountOutMin: BigNumberish, path: Array<string>, to: string, deadline: BigNumberish): string;
5
- static swapTokensForExactTokens(amountOut: BigNumberish, amountInMax: BigNumberish, path: Array<string>, to: string, deadline: BigNumberish): string;
6
- static swapAllTokensForTokens(rateMinRAY: BigNumberish, path: Array<string>, deadline: BigNumberish): string;
7
- }
8
- export declare class UniswapV2Multicaller {
9
- private readonly _address;
10
- constructor(address: string);
11
- static connect(address: string): UniswapV2Multicaller;
12
- swapExactTokensForTokens(amountIn: BigNumberish, amountOutMin: BigNumberish, path: Array<string>, to: string, deadline: BigNumberish): MultiCallStruct;
13
- swapTokensForExactTokens(amountOut: BigNumberish, amountInMax: BigNumberish, path: Array<string>, to: string, deadline: BigNumberish): MultiCallStruct;
14
- swapAllTokensForTokens(rateMinRAY: BigNumberish, path: Array<string>, deadline: BigNumberish): MultiCallStruct;
15
- }
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UniswapV2Multicaller = exports.UniswapV2Calls = void 0;
4
- const types_1 = require("../types");
5
- class UniswapV2Calls {
6
- static swapExactTokensForTokens(amountIn, amountOutMin, path, to, deadline) {
7
- return types_1.IUniswapV2Adapter__factory.createInterface().encodeFunctionData("swapExactTokensForTokens", [amountIn, amountOutMin, path, to, deadline]);
8
- }
9
- static swapTokensForExactTokens(amountOut, amountInMax, path, to, deadline) {
10
- return types_1.IUniswapV2Adapter__factory.createInterface().encodeFunctionData("swapTokensForExactTokens", [amountOut, amountInMax, path, to, deadline]);
11
- }
12
- static swapAllTokensForTokens(rateMinRAY, path, deadline) {
13
- return types_1.IUniswapV2Adapter__factory.createInterface().encodeFunctionData("swapAllTokensForTokens", [rateMinRAY, path, deadline]);
14
- }
15
- }
16
- exports.UniswapV2Calls = UniswapV2Calls;
17
- class UniswapV2Multicaller {
18
- _address;
19
- constructor(address) {
20
- this._address = address;
21
- }
22
- static connect(address) {
23
- return new UniswapV2Multicaller(address);
24
- }
25
- swapExactTokensForTokens(amountIn, amountOutMin, path, to, deadline) {
26
- return {
27
- target: this._address,
28
- callData: UniswapV2Calls.swapExactTokensForTokens(amountIn, amountOutMin, path, to, deadline),
29
- };
30
- }
31
- swapTokensForExactTokens(amountOut, amountInMax, path, to, deadline) {
32
- return {
33
- target: this._address,
34
- callData: UniswapV2Calls.swapExactTokensForTokens(amountOut, amountInMax, path, to, deadline),
35
- };
36
- }
37
- swapAllTokensForTokens(rateMinRAY, path, deadline) {
38
- return {
39
- target: this._address,
40
- callData: UniswapV2Calls.swapAllTokensForTokens(rateMinRAY, path, deadline),
41
- };
42
- }
43
- }
44
- exports.UniswapV2Multicaller = UniswapV2Multicaller;
@@ -1,21 +0,0 @@
1
- import { ISwapRouter, IUniswapV3Adapter } from "../types";
2
- import { MultiCallStruct } from "../types/@gearbox-protocol/router/contracts/interfaces/IClosePathResolver";
3
- export declare class UniswapV3Calls {
4
- static exactInputSingle(params: ISwapRouter.ExactInputSingleParamsStructOutput): string;
5
- static exactAllInputSingle(params: IUniswapV3Adapter.ExactAllInputSingleParamsStructOutput): string;
6
- static exactInput(params: ISwapRouter.ExactInputParamsStructOutput): string;
7
- static exactAllInput(params: IUniswapV3Adapter.ExactAllInputParamsStructOutput): string;
8
- static exactOutputSingle(params: ISwapRouter.ExactOutputSingleParamsStructOutput): string;
9
- static exactOutput(params: ISwapRouter.ExactOutputParamsStructOutput): string;
10
- }
11
- export declare class UniswapV3Multicaller {
12
- private readonly _address;
13
- constructor(address: string);
14
- static connect(address: string): UniswapV3Multicaller;
15
- exactInputSingle(params: ISwapRouter.ExactInputSingleParamsStructOutput): MultiCallStruct;
16
- exactAllInputSingle(params: IUniswapV3Adapter.ExactAllInputSingleParamsStructOutput): MultiCallStruct;
17
- exactInput(params: ISwapRouter.ExactInputParamsStructOutput): MultiCallStruct;
18
- exactAllInput(params: IUniswapV3Adapter.ExactAllInputParamsStructOutput): MultiCallStruct;
19
- exactOutputSingle(params: ISwapRouter.ExactOutputSingleParamsStructOutput): MultiCallStruct;
20
- exactOutput(params: ISwapRouter.ExactOutputParamsStructOutput): MultiCallStruct;
21
- }
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UniswapV3Multicaller = exports.UniswapV3Calls = void 0;
4
- const types_1 = require("../types");
5
- class UniswapV3Calls {
6
- static exactInputSingle(params) {
7
- return types_1.IUniswapV3Adapter__factory.createInterface().encodeFunctionData("exactInputSingle", [params]);
8
- }
9
- static exactAllInputSingle(params) {
10
- return types_1.IUniswapV3Adapter__factory.createInterface().encodeFunctionData("exactAllInputSingle", [params]);
11
- }
12
- static exactInput(params) {
13
- return types_1.IUniswapV3Adapter__factory.createInterface().encodeFunctionData("exactInput", [params]);
14
- }
15
- static exactAllInput(params) {
16
- return types_1.IUniswapV3Adapter__factory.createInterface().encodeFunctionData("exactAllInput", [params]);
17
- }
18
- static exactOutputSingle(params) {
19
- return types_1.IUniswapV3Adapter__factory.createInterface().encodeFunctionData("exactOutputSingle", [params]);
20
- }
21
- static exactOutput(params) {
22
- return types_1.IUniswapV3Adapter__factory.createInterface().encodeFunctionData("exactOutput", [params]);
23
- }
24
- }
25
- exports.UniswapV3Calls = UniswapV3Calls;
26
- class UniswapV3Multicaller {
27
- _address;
28
- constructor(address) {
29
- this._address = address;
30
- }
31
- static connect(address) {
32
- return new UniswapV3Multicaller(address);
33
- }
34
- exactInputSingle(params) {
35
- return {
36
- target: this._address,
37
- callData: UniswapV3Calls.exactInputSingle(params),
38
- };
39
- }
40
- exactAllInputSingle(params) {
41
- return {
42
- target: this._address,
43
- callData: UniswapV3Calls.exactAllInputSingle(params),
44
- };
45
- }
46
- exactInput(params) {
47
- return {
48
- target: this._address,
49
- callData: UniswapV3Calls.exactInput(params),
50
- };
51
- }
52
- exactAllInput(params) {
53
- return {
54
- target: this._address,
55
- callData: UniswapV3Calls.exactAllInput(params),
56
- };
57
- }
58
- exactOutputSingle(params) {
59
- return {
60
- target: this._address,
61
- callData: UniswapV3Calls.exactOutputSingle(params),
62
- };
63
- }
64
- exactOutput(params) {
65
- return {
66
- target: this._address,
67
- callData: UniswapV3Calls.exactOutput(params),
68
- };
69
- }
70
- }
71
- exports.UniswapV3Multicaller = UniswapV3Multicaller;
@@ -1,20 +0,0 @@
1
- import { BigNumberish } from "ethers";
2
- import { YearnVaultContract } 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 YearnV2Calls {
7
- static deposit(amount?: BigNumberish, recipient?: string): string;
8
- static withdraw(maxShares?: BigNumberish, recipient?: string, maxLoss?: BigNumberish): string;
9
- }
10
- export declare class YearnV2Multicaller {
11
- private readonly _address;
12
- constructor(address: string);
13
- static connect(address: string): YearnV2Multicaller;
14
- deposit(amount?: BigNumberish, recipient?: string): MultiCallStruct;
15
- withdraw(maxShares?: BigNumberish, recipient?: string, maxLoss?: BigNumberish): MultiCallStruct;
16
- }
17
- export declare class YearnV2Strategies {
18
- static underlyingToYearn(data: CreditManagerData, network: NetworkType, yearnVault: YearnVaultContract, underlyingAmount: BigNumberish): MultiCallStruct[];
19
- static yearnToUnderlying(data: CreditManagerData, network: NetworkType, yearnVault: YearnVaultContract, yearnSharesAmount: BigNumberish): MultiCallStruct[];
20
- }
@@ -1,128 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.YearnV2Strategies = exports.YearnV2Multicaller = exports.YearnV2Calls = void 0;
4
- const contracts_1 = require("../contracts/contracts");
5
- const constants_1 = require("../core/constants");
6
- const token_1 = require("../tokens/token");
7
- const tokenType_1 = require("../tokens/tokenType");
8
- const types_1 = require("../types");
9
- const curve_1 = require("./curve");
10
- const uniswapV2_1 = require("./uniswapV2");
11
- class YearnV2Calls {
12
- static deposit(amount, recipient) {
13
- const contractInterface = types_1.IYVault__factory.createInterface();
14
- if (amount && recipient) {
15
- return contractInterface.encodeFunctionData("deposit(uint256,address)", [
16
- amount,
17
- recipient,
18
- ]);
19
- }
20
- if (amount) {
21
- return contractInterface.encodeFunctionData("deposit(uint256)", [amount]);
22
- }
23
- return contractInterface.encodeFunctionData("deposit()");
24
- }
25
- static withdraw(maxShares, recipient, maxLoss) {
26
- const contractInterface = types_1.IYVault__factory.createInterface();
27
- if (maxShares && recipient && maxLoss) {
28
- return contractInterface.encodeFunctionData("withdraw(uint256,address,uint256)", [maxShares, recipient, maxLoss]);
29
- }
30
- if (maxShares && recipient) {
31
- return contractInterface.encodeFunctionData("withdraw(uint256,address)", [
32
- maxShares,
33
- recipient,
34
- ]);
35
- }
36
- if (maxShares) {
37
- return contractInterface.encodeFunctionData("withdraw(uint256)", [
38
- maxShares,
39
- ]);
40
- }
41
- return contractInterface.encodeFunctionData("withdraw()");
42
- }
43
- }
44
- exports.YearnV2Calls = YearnV2Calls;
45
- class YearnV2Multicaller {
46
- _address;
47
- constructor(address) {
48
- this._address = address;
49
- }
50
- static connect(address) {
51
- return new YearnV2Multicaller(address);
52
- }
53
- deposit(amount, recipient) {
54
- return {
55
- target: this._address,
56
- callData: YearnV2Calls.deposit(amount, recipient),
57
- };
58
- }
59
- withdraw(maxShares, recipient, maxLoss) {
60
- return {
61
- target: this._address,
62
- callData: YearnV2Calls.withdraw(maxShares, recipient, maxLoss),
63
- };
64
- }
65
- }
66
- exports.YearnV2Multicaller = YearnV2Multicaller;
67
- class YearnV2Strategies {
68
- static underlyingToYearn(data, network, yearnVault, underlyingAmount) {
69
- let calls = [];
70
- const vaultParams = contracts_1.contractParams[yearnVault];
71
- const yearnToken = vaultParams.shareToken;
72
- const yearnParams = token_1.supportedTokens[yearnToken];
73
- if (yearnParams.type === tokenType_1.TokenType.YEARN_ON_NORMAL_TOKEN) {
74
- if (data.underlyingToken.toLowerCase() !==
75
- token_1.tokenDataByNetwork[network][yearnParams.underlying].toLowerCase()) {
76
- // This should be a pathfinder call
77
- calls.push(uniswapV2_1.UniswapV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()]).swapExactTokensForTokens(underlyingAmount, 0, [
78
- data.underlyingToken,
79
- token_1.tokenDataByNetwork[network][yearnParams.underlying],
80
- ], constants_1.ADDRESS_0X0, Math.floor(new Date().getTime() / 1000) + 3600));
81
- }
82
- else {
83
- calls.push(YearnV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network][yearnVault].toLowerCase()]).deposit(underlyingAmount));
84
- return calls;
85
- }
86
- }
87
- else if (yearnParams.type === tokenType_1.TokenType.YEARN_ON_CURVE_TOKEN) {
88
- const curveTokenParams = token_1.supportedTokens[yearnParams.underlying];
89
- const curvePool = curveTokenParams.pool;
90
- calls = curve_1.CurveStrategies.underlyingToCurveLP(data, network, curvePool, underlyingAmount);
91
- }
92
- else {
93
- throw new Error("Yearn vault type unknown");
94
- }
95
- calls.push(YearnV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network][yearnVault].toLowerCase()]).deposit());
96
- return calls;
97
- }
98
- static yearnToUnderlying(data, network, yearnVault, yearnSharesAmount) {
99
- let calls = [];
100
- const vaultParams = contracts_1.contractParams[yearnVault];
101
- const yearnToken = vaultParams.shareToken;
102
- const yearnParams = token_1.supportedTokens[yearnToken];
103
- calls.push(YearnV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network][yearnVault].toLowerCase()]).withdraw(yearnSharesAmount));
104
- if (yearnParams.type === tokenType_1.TokenType.YEARN_ON_NORMAL_TOKEN) {
105
- if (data.underlyingToken.toLowerCase() !==
106
- token_1.tokenDataByNetwork[network][yearnParams.underlying].toLowerCase()) {
107
- // This should be a pathfinder call
108
- calls.push(uniswapV2_1.UniswapV2Multicaller.connect(data.adapters[contracts_1.contractsByNetwork[network].UNISWAP_V2_ROUTER.toLowerCase()]).swapAllTokensForTokens(0, [
109
- token_1.tokenDataByNetwork[network][yearnParams.underlying],
110
- data.underlyingToken,
111
- ], Math.floor(new Date().getTime() / 1000) + 3600));
112
- }
113
- }
114
- else if (yearnParams.type === tokenType_1.TokenType.YEARN_ON_CURVE_TOKEN) {
115
- const curveTokenParams = token_1.supportedTokens[yearnParams.underlying];
116
- const curvePool = curveTokenParams.pool;
117
- calls = [
118
- ...calls,
119
- ...curve_1.CurveStrategies.allCurveLPToUnderlying(data, network, curvePool),
120
- ];
121
- }
122
- else {
123
- throw new Error("Yearn vault type unknown");
124
- }
125
- return calls;
126
- }
127
- }
128
- exports.YearnV2Strategies = YearnV2Strategies;
@@ -1,11 +0,0 @@
1
- import { PoolData } from "../core/pool";
2
- export interface PoolTokens {
3
- dieselToken: string | undefined;
4
- underlyingToken: string | undefined;
5
- }
6
- export declare function getPoolTokens(pool: PoolData | undefined | Error): PoolTokens;
7
- interface WithUnderlyingToken {
8
- readonly underlyingToken: string;
9
- }
10
- export declare function getUnderlyingToken(c: WithUnderlyingToken | undefined | null | Error): string | undefined;
11
- export {};
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUnderlyingToken = exports.getPoolTokens = void 0;
4
- function getPoolTokens(pool) {
5
- const safePool = pool instanceof Error ? undefined : pool;
6
- const { dieselToken, underlyingToken } = safePool || {};
7
- return {
8
- dieselToken,
9
- underlyingToken,
10
- };
11
- }
12
- exports.getPoolTokens = getPoolTokens;
13
- function getUnderlyingToken(c) {
14
- if (!c || c instanceof Error) {
15
- return undefined;
16
- }
17
- return c.underlyingToken;
18
- }
19
- exports.getUnderlyingToken = getUnderlyingToken;