@gearbox-protocol/sdk 0.0.101 → 0.0.104

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 (139) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.js +52 -0
  3. package/.husky/pre-push +4 -0
  4. package/lib/apy/convexAPY.js +7 -9
  5. package/lib/apy/lidoAPY.js +35 -29
  6. package/lib/contracts/contracts.d.ts +5 -2
  7. package/lib/contracts/contracts.js +19 -18
  8. package/lib/contracts/contractsRegister.js +13 -1
  9. package/lib/core/constants.d.ts +5 -3
  10. package/lib/core/constants.js +8 -6
  11. package/lib/core/creditAccount.d.ts +2 -2
  12. package/lib/core/creditAccount.js +12 -11
  13. package/lib/core/creditManager.d.ts +1 -1
  14. package/lib/core/creditManager.js +4 -10
  15. package/lib/core/creditSession.js +14 -3
  16. package/lib/core/eventOrTx.d.ts +1 -1
  17. package/lib/core/events.d.ts +19 -19
  18. package/lib/core/events.js +23 -21
  19. package/lib/core/pool.d.ts +1 -1
  20. package/lib/core/pool.js +1 -7
  21. package/lib/core/price.d.ts +1 -3
  22. package/lib/core/price.js +9 -7
  23. package/lib/core/strategy.d.ts +8 -6
  24. package/lib/core/strategy.js +25 -25
  25. package/lib/core/tokenDistributor.js +1 -1
  26. package/lib/core/transactions.d.ts +18 -3
  27. package/lib/core/transactions.js +39 -3
  28. package/lib/index.d.ts +8 -2
  29. package/lib/index.js +8 -1
  30. package/lib/oracles/priceFeeds.js +1 -1
  31. package/lib/pathfinder/convexLP.d.ts +1 -1
  32. package/lib/pathfinder/convexLP.js +26 -29
  33. package/lib/pathfinder/curveLP.d.ts +1 -1
  34. package/lib/pathfinder/curveLP.js +5 -7
  35. package/lib/pathfinder/path.d.ts +1 -1
  36. package/lib/pathfinder/path.js +38 -42
  37. package/lib/pathfinder/trade.d.ts +1 -2
  38. package/lib/pathfinder/tradeTypes.d.ts +5 -5
  39. package/lib/pathfinder/yVault.d.ts +2 -2
  40. package/lib/pathfinder/yVault.js +22 -22
  41. package/lib/payload/creditAccount.d.ts +4 -4
  42. package/lib/payload/creditManager.d.ts +3 -13
  43. package/lib/payload/pool.d.ts +2 -2
  44. package/lib/strategies/convex.d.ts +12 -0
  45. package/lib/strategies/convex.js +74 -1
  46. package/lib/strategies/creditFacade.d.ts +1 -0
  47. package/lib/strategies/creditFacade.js +3 -0
  48. package/lib/strategies/curve.d.ts +15 -60
  49. package/lib/strategies/curve.js +74 -1
  50. package/lib/strategies/lido.d.ts +6 -0
  51. package/lib/strategies/lido.js +23 -1
  52. package/lib/strategies/uniswapV2.d.ts +1 -0
  53. package/lib/strategies/uniswapV2.js +6 -19
  54. package/lib/strategies/uniswapV3.d.ts +1 -0
  55. package/lib/strategies/uniswapV3.js +4 -1
  56. package/lib/strategies/yearn.d.ts +8 -0
  57. package/lib/strategies/yearn.js +92 -12
  58. package/lib/tokens/convex.d.ts +3 -3
  59. package/lib/tokens/curveLP.d.ts +7 -2
  60. package/lib/tokens/curveLP.js +8 -1
  61. package/lib/tokens/gear.d.ts +2 -2
  62. package/lib/tokens/gear.js +1 -1
  63. package/lib/tokens/normal.d.ts +1 -1
  64. package/lib/tokens/token.js +8 -8
  65. package/lib/tokens/tokenData.d.ts +3 -1
  66. package/lib/tokens/tokenData.js +10 -8
  67. package/lib/tokens/yearn.d.ts +6 -2
  68. package/lib/tokens/yearn.js +6 -0
  69. package/lib/utils/errors.d.ts +6 -0
  70. package/lib/utils/errors.js +13 -0
  71. package/lib/utils/formatter.d.ts +1 -1
  72. package/lib/utils/formatter.js +17 -14
  73. package/lib/utils/loading.d.ts +2 -1
  74. package/lib/utils/loading.js +9 -13
  75. package/lib/utils/mappers.js +2 -2
  76. package/lib/utils/network.js +2 -2
  77. package/lib/utils/repeater.js +12 -24
  78. package/lib/utils/validate.js +1 -1
  79. package/package.json +24 -7
  80. package/src/apy/convexAPY.ts +13 -12
  81. package/src/apy/lidoAPY.ts +35 -27
  82. package/src/contracts/contracts.ts +27 -17
  83. package/src/contracts/contractsRegister.ts +16 -1
  84. package/src/core/constants.ts +8 -5
  85. package/src/core/creditAccount.ts +42 -16
  86. package/src/core/creditManager.ts +33 -7
  87. package/src/core/creditOperation.ts +7 -7
  88. package/src/core/creditSession.ts +25 -5
  89. package/src/core/errors.ts +1 -0
  90. package/src/core/eventOrTx.ts +8 -5
  91. package/src/core/events.ts +85 -24
  92. package/src/core/history.ts +46 -46
  93. package/src/core/operations.ts +6 -0
  94. package/src/core/pool.ts +16 -4
  95. package/src/core/price.ts +10 -13
  96. package/src/core/strategy.ts +54 -43
  97. package/src/core/tokenDistributor.ts +2 -2
  98. package/src/core/transactions.ts +427 -350
  99. package/src/index.ts +10 -3
  100. package/src/oracles/priceFeeds.ts +523 -523
  101. package/src/pathfinder/contracts.ts +15 -13
  102. package/src/pathfinder/convexLP.ts +29 -25
  103. package/src/pathfinder/curveLP.ts +57 -53
  104. package/src/pathfinder/path.ts +17 -9
  105. package/src/pathfinder/priority.ts +11 -11
  106. package/src/pathfinder/trade.ts +84 -77
  107. package/src/pathfinder/tradeTypes.ts +98 -94
  108. package/src/pathfinder/yVault.ts +32 -17
  109. package/src/payload/creditAccount.ts +4 -4
  110. package/src/payload/creditManager.ts +3 -13
  111. package/src/payload/pool.ts +2 -2
  112. package/src/payload/token.ts +3 -3
  113. package/src/strategies/convex.ts +360 -186
  114. package/src/strategies/creditFacade.ts +74 -53
  115. package/src/strategies/curve.ts +400 -189
  116. package/src/strategies/lido.ts +70 -32
  117. package/src/strategies/uniswapV2.ts +93 -111
  118. package/src/strategies/uniswapV3.ts +118 -91
  119. package/src/strategies/yearn.ts +187 -60
  120. package/src/tokens/connectors.ts +6 -6
  121. package/src/tokens/convex.ts +297 -296
  122. package/src/tokens/curveLP.ts +176 -165
  123. package/src/tokens/gear.ts +47 -45
  124. package/src/tokens/normal.ts +801 -802
  125. package/src/tokens/token.ts +13 -9
  126. package/src/tokens/tokenData.ts +19 -9
  127. package/src/tokens/tokenType.ts +11 -11
  128. package/src/tokens/yearn.ts +130 -124
  129. package/src/utils/errors.ts +11 -0
  130. package/src/utils/formatter.ts +22 -18
  131. package/src/utils/loading.ts +14 -6
  132. package/src/utils/mappers.ts +8 -6
  133. package/src/utils/multicall.ts +2 -0
  134. package/src/utils/network.ts +21 -21
  135. package/src/utils/repeater.ts +2 -2
  136. package/src/utils/validate.ts +1 -1
  137. package/lib/utils/events.d.ts +0 -2
  138. package/lib/utils/events.js +0 -13
  139. package/src/utils/events.ts +0 -10
@@ -1,46 +1,84 @@
1
- import { BigNumberish } from "ethers"
1
+ import { BigNumberish } from "ethers";
2
+ import { CreditManagerData } from "src/core/creditManager";
3
+ import { ADDRESS_0X0, NetworkType } from "src/core/constants";
2
4
 
3
-
4
- import {
5
- LidoV1Adapter__factory
6
- } from "../types";
5
+ import { contractsByNetwork } from "src/contracts/contracts";
6
+ import { tokenDataByNetwork } from "src/tokens/token";
7
+ import { LidoV1Adapter__factory } from "../types";
7
8
 
8
9
  import { MultiCallStruct } from "../types/contracts/interfaces/ICreditFacade.sol/ICreditFacade";
9
-
10
+ import { UniswapV2Multicaller } from "./uniswapV2";
10
11
 
11
12
  export class LidoCalls {
12
- public static submit(amount: BigNumberish) {
13
- return LidoV1Adapter__factory.createInterface().encodeFunctionData(
14
- "submit",
15
- [amount]
16
- )
17
- }
13
+ public static submit(amount: BigNumberish) {
14
+ return LidoV1Adapter__factory.createInterface().encodeFunctionData(
15
+ "submit",
16
+ [amount]
17
+ );
18
+ }
18
19
 
19
- public static submitAll() {
20
- return LidoV1Adapter__factory.createInterface().encodeFunctionData(
21
- "submitAll"
22
- )
23
- }
20
+ public static submitAll() {
21
+ return LidoV1Adapter__factory.createInterface().encodeFunctionData(
22
+ "submitAll"
23
+ );
24
+ }
24
25
  }
25
26
 
26
27
  export class LidoMulticaller {
27
- private readonly _address: string;
28
+ private readonly _address: string;
28
29
 
29
- constructor(address: string) {
30
- this._address = address;
31
- }
30
+ constructor(address: string) {
31
+ this._address = address;
32
+ }
32
33
 
33
- submit(amount: BigNumberish): MultiCallStruct {
34
- return {
35
- target: this._address,
36
- callData: LidoCalls.submit(amount)
37
- }
38
- }
34
+ static connect(address: string) {
35
+ return new LidoMulticaller(address);
36
+ }
39
37
 
40
- submitAll(): MultiCallStruct {
41
- return {
42
- target: this._address,
43
- callData: LidoCalls.submitAll()
44
- }
38
+ submit(amount: BigNumberish): MultiCallStruct {
39
+ return {
40
+ target: this._address,
41
+ callData: LidoCalls.submit(amount)
42
+ };
43
+ }
44
+
45
+ submitAll(): MultiCallStruct {
46
+ return {
47
+ target: this._address,
48
+ callData: LidoCalls.submitAll()
49
+ };
50
+ }
51
+ }
52
+
53
+ export class LidoStrategies {
54
+ static mintSteth(
55
+ data: CreditManagerData,
56
+ network: NetworkType,
57
+ underlyingAmount: BigNumberish
58
+ ) {
59
+ const calls: Array<MultiCallStruct> = [];
60
+
61
+ // This should be a pathfinder call
62
+ if (!data.isWETH) {
63
+ calls.push(
64
+ UniswapV2Multicaller.connect(
65
+ data.adapters[contractsByNetwork[network].UNISWAP_V2_ROUTER]
66
+ ).swapExactTokensForTokens(
67
+ underlyingAmount,
68
+ 0,
69
+ [data.underlyingToken, tokenDataByNetwork[network].WETH],
70
+ ADDRESS_0X0,
71
+ Math.floor(new Date().getTime() / 1000) + 3600
72
+ )
73
+ );
45
74
  }
75
+
76
+ calls.push(
77
+ LidoMulticaller.connect(
78
+ data.adapters[contractsByNetwork[network].LIDO_STETH_GATEWAY]
79
+ ).submitAll()
80
+ );
81
+
82
+ return calls;
83
+ }
46
84
  }
@@ -1,127 +1,109 @@
1
- import { BigNumberish } from "ethers"
1
+ import { BigNumberish } from "ethers";
2
2
 
3
-
4
- import {
5
- UniswapV2Adapter__factory
6
- } from "../types";
3
+ import { UniswapV2Adapter__factory } from "../types";
7
4
 
8
5
  import { MultiCallStruct } from "../types/contracts/interfaces/ICreditFacade.sol/ICreditFacade";
9
6
 
10
7
  export class UniswapV2Calls {
11
- public static swapExactTokensForTokens(
12
- amountIn: BigNumberish,
13
- amountOutMin: BigNumberish,
14
- path: Array<string>,
15
- to: string,
16
- deadline: BigNumberish
17
- ) {
18
- return UniswapV2Adapter__factory.createInterface().encodeFunctionData(
19
- "swapExactTokensForTokens",
20
- [
21
- amountIn,
22
- amountOutMin,
23
- path,
24
- to,
25
- deadline
26
- ]
27
- )
28
- }
29
-
30
- public static swapTokensForExactTokens(
31
- amountOut: BigNumberish,
32
- amountInMax: BigNumberish,
33
- path: Array<string>,
34
- to: string,
35
- deadline: BigNumberish
36
- ) {
37
- return UniswapV2Adapter__factory.createInterface().encodeFunctionData(
38
- "swapTokensForExactTokens",
39
- [
40
- amountOut,
41
- amountInMax,
42
- path,
43
- to,
44
- deadline
45
- ]
46
- )
47
- }
8
+ public static swapExactTokensForTokens(
9
+ amountIn: BigNumberish,
10
+ amountOutMin: BigNumberish,
11
+ path: Array<string>,
12
+ to: string,
13
+ deadline: BigNumberish
14
+ ) {
15
+ return UniswapV2Adapter__factory.createInterface().encodeFunctionData(
16
+ "swapExactTokensForTokens",
17
+ [amountIn, amountOutMin, path, to, deadline]
18
+ );
19
+ }
48
20
 
49
- public static swapAllTokensForTokens(
50
- rateMinRAY: BigNumberish,
51
- path: Array<string>,
52
- deadline: BigNumberish
53
- ) {
54
- return UniswapV2Adapter__factory.createInterface().encodeFunctionData(
55
- "swapAllTokensForTokens",
56
- [
57
- rateMinRAY,
58
- path,
59
- deadline
60
- ]
61
- )
62
- }
21
+ public static swapTokensForExactTokens(
22
+ amountOut: BigNumberish,
23
+ amountInMax: BigNumberish,
24
+ path: Array<string>,
25
+ to: string,
26
+ deadline: BigNumberish
27
+ ) {
28
+ return UniswapV2Adapter__factory.createInterface().encodeFunctionData(
29
+ "swapTokensForExactTokens",
30
+ [amountOut, amountInMax, path, to, deadline]
31
+ );
32
+ }
63
33
 
34
+ public static swapAllTokensForTokens(
35
+ rateMinRAY: BigNumberish,
36
+ path: Array<string>,
37
+ deadline: BigNumberish
38
+ ) {
39
+ return UniswapV2Adapter__factory.createInterface().encodeFunctionData(
40
+ "swapAllTokensForTokens",
41
+ [rateMinRAY, path, deadline]
42
+ );
43
+ }
64
44
  }
65
45
 
66
46
  export class UniswapV2Multicaller {
67
- private readonly _address: string;
68
-
69
- constructor(address: string) {
70
- this._address = address;
71
- }
47
+ private readonly _address: string;
72
48
 
73
- swapExactTokensForTokens(
74
- amountIn: BigNumberish,
75
- amountOutMin: BigNumberish,
76
- path: Array<string>,
77
- to: string,
78
- deadline: BigNumberish
79
- ): MultiCallStruct {
49
+ constructor(address: string) {
50
+ this._address = address;
51
+ }
80
52
 
81
- return {
82
- target: this._address,
83
- callData: UniswapV2Calls.swapExactTokensForTokens(
84
- amountIn,
85
- amountOutMin,
86
- path,
87
- to,
88
- deadline
89
- )
90
- }
91
- }
53
+ static connect(address: string) {
54
+ return new UniswapV2Multicaller(address);
55
+ }
92
56
 
93
- swapTokensForExactTokens(
94
- amountOut: BigNumberish,
95
- amountInMax: BigNumberish,
96
- path: Array<string>,
97
- to: string,
98
- deadline: BigNumberish
99
- ): MultiCallStruct {
100
- return {
101
- target: this._address,
102
- callData: UniswapV2Calls.swapExactTokensForTokens(
103
- amountOut,
104
- amountInMax,
105
- path,
106
- to,
107
- deadline
108
- )
109
- }
110
- }
57
+ swapExactTokensForTokens(
58
+ amountIn: BigNumberish,
59
+ amountOutMin: BigNumberish,
60
+ path: Array<string>,
61
+ to: string,
62
+ deadline: BigNumberish
63
+ ): MultiCallStruct {
64
+ return {
65
+ target: this._address,
66
+ callData: UniswapV2Calls.swapExactTokensForTokens(
67
+ amountIn,
68
+ amountOutMin,
69
+ path,
70
+ to,
71
+ deadline
72
+ )
73
+ };
74
+ }
111
75
 
112
- swapAllTokensForTokens(
113
- rateMinRAY: BigNumberish,
114
- path: Array<string>,
115
- deadline: BigNumberish
116
- ): MultiCallStruct {
117
- return {
118
- target: this._address,
119
- callData: UniswapV2Calls.swapAllTokensForTokens(
120
- rateMinRAY,
121
- path,
122
- deadline
123
- )
124
- }
125
- }
76
+ swapTokensForExactTokens(
77
+ amountOut: BigNumberish,
78
+ amountInMax: BigNumberish,
79
+ path: Array<string>,
80
+ to: string,
81
+ deadline: BigNumberish
82
+ ): MultiCallStruct {
83
+ return {
84
+ target: this._address,
85
+ callData: UniswapV2Calls.swapExactTokensForTokens(
86
+ amountOut,
87
+ amountInMax,
88
+ path,
89
+ to,
90
+ deadline
91
+ )
92
+ };
93
+ }
126
94
 
95
+ swapAllTokensForTokens(
96
+ rateMinRAY: BigNumberish,
97
+ path: Array<string>,
98
+ deadline: BigNumberish
99
+ ): MultiCallStruct {
100
+ return {
101
+ target: this._address,
102
+ callData: UniswapV2Calls.swapAllTokensForTokens(
103
+ rateMinRAY,
104
+ path,
105
+ deadline
106
+ )
107
+ };
108
+ }
127
109
  }
@@ -1,100 +1,127 @@
1
- //import { BigNumberish } from "ethers";
1
+ // import { BigNumberish } from "ethers";
2
2
 
3
-
4
- import { UniswapV3Adapter__factory } from "../types"
5
- import { ISwapRouter, IUniswapV3Adapter } from "../types/contracts/adapters/uniswap/UniswapV3.sol/UniswapV3Adapter";
3
+ import { UniswapV3Adapter__factory } from "../types";
4
+ import {
5
+ ISwapRouter,
6
+ IUniswapV3Adapter
7
+ } from "../types/contracts/adapters/uniswap/UniswapV3.sol/UniswapV3Adapter";
6
8
 
7
9
  import { MultiCallStruct } from "../types/contracts/interfaces/ICreditFacade.sol/ICreditFacade";
8
10
 
9
11
  export class UniswapV3Calls {
10
- public static exactInputSingle(params: ISwapRouter.ExactInputSingleParamsStructOutput) {
11
- return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
12
- "exactInputSingle",
13
- [params]
14
- )
15
- }
16
-
17
- public static exactAllInputSingle(params: IUniswapV3Adapter.ExactAllInputSingleParamsStructOutput) {
18
- return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
19
- "exactAllInputSingle",
20
- [params]
21
- )
22
- }
23
-
24
- public static exactInput(params: ISwapRouter.ExactInputParamsStructOutput) {
25
- return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
26
- "exactInput",
27
- [params]
28
- )
29
- }
30
-
31
- public static exactAllInput(params: IUniswapV3Adapter.ExactAllInputParamsStructOutput) {
32
- return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
33
- "exactAllInput",
34
- [params]
35
- )
36
- }
37
-
38
- public static exactOutputSingle(params: ISwapRouter.ExactOutputSingleParamsStructOutput) {
39
- return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
40
- "exactOutputSingle",
41
- [params]
42
- )
43
- }
44
-
45
- public static exactOutput(params: ISwapRouter.ExactOutputParamsStructOutput) {
46
- return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
47
- "exactOutput",
48
- [params]
49
- )
50
- }
12
+ public static exactInputSingle(
13
+ params: ISwapRouter.ExactInputSingleParamsStructOutput
14
+ ) {
15
+ return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
16
+ "exactInputSingle",
17
+ [params]
18
+ );
19
+ }
20
+
21
+ public static exactAllInputSingle(
22
+ params: IUniswapV3Adapter.ExactAllInputSingleParamsStructOutput
23
+ ) {
24
+ return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
25
+ "exactAllInputSingle",
26
+ [params]
27
+ );
28
+ }
29
+
30
+ public static exactInput(params: ISwapRouter.ExactInputParamsStructOutput) {
31
+ return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
32
+ "exactInput",
33
+ [params]
34
+ );
35
+ }
36
+
37
+ public static exactAllInput(
38
+ params: IUniswapV3Adapter.ExactAllInputParamsStructOutput
39
+ ) {
40
+ return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
41
+ "exactAllInput",
42
+ [params]
43
+ );
44
+ }
45
+
46
+ public static exactOutputSingle(
47
+ params: ISwapRouter.ExactOutputSingleParamsStructOutput
48
+ ) {
49
+ return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
50
+ "exactOutputSingle",
51
+ [params]
52
+ );
53
+ }
54
+
55
+ public static exactOutput(params: ISwapRouter.ExactOutputParamsStructOutput) {
56
+ return UniswapV3Adapter__factory.createInterface().encodeFunctionData(
57
+ "exactOutput",
58
+ [params]
59
+ );
60
+ }
51
61
  }
52
62
 
53
63
  export class UniswapV3Multicaller {
54
- private readonly _address: string;
55
-
56
- constructor(address: string) {
57
- this._address = address;
58
- }
59
-
60
- exactInputSingle(params: ISwapRouter.ExactInputSingleParamsStructOutput): MultiCallStruct {
61
- return {
62
- target: this._address,
63
- callData: UniswapV3Calls.exactInputSingle(params)
64
- }
65
- }
66
-
67
- exactAllInputSingle(params: IUniswapV3Adapter.ExactAllInputSingleParamsStructOutput): MultiCallStruct {
68
- return {
69
- target: this._address,
70
- callData: UniswapV3Calls.exactAllInputSingle(params)
71
- }
72
- }
73
- exactInput(params: ISwapRouter.ExactInputParamsStructOutput): MultiCallStruct {
74
- return {
75
- target: this._address,
76
- callData: UniswapV3Calls.exactInput(params)
77
- }
78
- }
79
-
80
- exactAllInput(params: IUniswapV3Adapter.ExactAllInputParamsStructOutput): MultiCallStruct {
81
- return {
82
- target: this._address,
83
- callData: UniswapV3Calls.exactAllInput(params)
84
- }
85
- }
86
-
87
- exactOutputSingle(params: ISwapRouter.ExactOutputSingleParamsStructOutput): MultiCallStruct {
88
- return {
89
- target: this._address,
90
- callData: UniswapV3Calls.exactOutputSingle(params)
91
- }
92
- }
93
-
94
- exactOutput(params: ISwapRouter.ExactOutputParamsStructOutput): MultiCallStruct {
95
- return {
96
- target: this._address,
97
- callData: UniswapV3Calls.exactOutput(params)
98
- }
99
- }
64
+ private readonly _address: string;
65
+
66
+ constructor(address: string) {
67
+ this._address = address;
68
+ }
69
+
70
+ static connect(address: string) {
71
+ return new UniswapV3Multicaller(address);
72
+ }
73
+
74
+ exactInputSingle(
75
+ params: ISwapRouter.ExactInputSingleParamsStructOutput
76
+ ): MultiCallStruct {
77
+ return {
78
+ target: this._address,
79
+ callData: UniswapV3Calls.exactInputSingle(params)
80
+ };
81
+ }
82
+
83
+ exactAllInputSingle(
84
+ params: IUniswapV3Adapter.ExactAllInputSingleParamsStructOutput
85
+ ): MultiCallStruct {
86
+ return {
87
+ target: this._address,
88
+ callData: UniswapV3Calls.exactAllInputSingle(params)
89
+ };
90
+ }
91
+
92
+ exactInput(
93
+ params: ISwapRouter.ExactInputParamsStructOutput
94
+ ): MultiCallStruct {
95
+ return {
96
+ target: this._address,
97
+ callData: UniswapV3Calls.exactInput(params)
98
+ };
99
+ }
100
+
101
+ exactAllInput(
102
+ params: IUniswapV3Adapter.ExactAllInputParamsStructOutput
103
+ ): MultiCallStruct {
104
+ return {
105
+ target: this._address,
106
+ callData: UniswapV3Calls.exactAllInput(params)
107
+ };
108
+ }
109
+
110
+ exactOutputSingle(
111
+ params: ISwapRouter.ExactOutputSingleParamsStructOutput
112
+ ): MultiCallStruct {
113
+ return {
114
+ target: this._address,
115
+ callData: UniswapV3Calls.exactOutputSingle(params)
116
+ };
117
+ }
118
+
119
+ exactOutput(
120
+ params: ISwapRouter.ExactOutputParamsStructOutput
121
+ ): MultiCallStruct {
122
+ return {
123
+ target: this._address,
124
+ callData: UniswapV3Calls.exactOutput(params)
125
+ };
126
+ }
100
127
  }