@pendle/core-v2 0.2.1 → 0.2.2
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/contracts/core/PendleBaseToken.sol +0 -4
- package/contracts/core/PendleMarket.sol +4 -7
- package/contracts/core/PendleMarketFactory.sol +2 -2
- package/contracts/core/PendleOwnershipToken.sol +0 -2
- package/contracts/core/router/PendleRouterProxy.sol +15 -1
- package/contracts/core/router/PendleRouterStatic.sol +82 -0
- package/contracts/interfaces/IPRouterStatic.sol +35 -0
- package/contracts/libraries/math/FixedPoint.sol +4 -7
- package/contracts/libraries/math/LogExpMath.sol +377 -365
- package/contracts/libraries/math/MarketMathLib.sol +25 -17
- package/package.json +1 -1
- package/typechain-types/IPRouterStatic.ts +307 -0
- package/typechain-types/IPRouterView.ts +307 -0
- package/typechain-types/PendleBaseToken.ts +0 -30
- package/typechain-types/PendleMarket.ts +19 -46
- package/typechain-types/PendleMarketFactory.ts +5 -5
- package/typechain-types/PendleOwnershipToken.ts +0 -30
- package/typechain-types/PendleRouterProxy.ts +21 -0
- package/typechain-types/PendleRouterStaticUpg.ts +307 -0
- package/typechain-types/PendleRouterViewUpg.ts +307 -0
- package/typechain-types/PendleYieldToken.ts +0 -30
- package/typechain-types/factories/IPRouterStatic__factory.ts +190 -0
- package/typechain-types/factories/IPRouterView__factory.ts +187 -0
- package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -1
- package/typechain-types/factories/PendleBaseToken__factory.ts +0 -38
- package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +1 -1
- package/typechain-types/factories/PendleBtrflyScy__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +2 -2
- package/typechain-types/factories/PendleMarket__factory.ts +19 -57
- package/typechain-types/factories/PendleOwnershipToken__factory.ts +1 -39
- package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterProxy__factory.ts +23 -1
- package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +269 -0
- package/typechain-types/factories/PendleRouterViewUpg__factory.ts +265 -0
- package/typechain-types/factories/PendleRouterYTUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleYearnVaultScy__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -39
- package/typechain-types/hardhat.d.ts +18 -0
- package/typechain-types/index.ts +4 -0
|
@@ -34,7 +34,7 @@ struct MarketStorage {
|
|
|
34
34
|
uint32 lastTradeTime;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
// solhint-disable
|
|
37
|
+
// solhint-disable ordering
|
|
38
38
|
library MarketMathLib {
|
|
39
39
|
using FixedPoint for uint256;
|
|
40
40
|
using FixedPoint for int256;
|
|
@@ -138,15 +138,18 @@ library MarketMathLib {
|
|
|
138
138
|
function setInitialImpliedRate(
|
|
139
139
|
MarketParameters memory market,
|
|
140
140
|
SCYIndex index,
|
|
141
|
-
int256
|
|
141
|
+
int256 initialAnchor,
|
|
142
142
|
uint256 blockTime
|
|
143
143
|
) internal pure {
|
|
144
|
+
require(blockTime < market.expiry, "market expired");
|
|
144
145
|
int256 totalAsset = index.scyToAsset(market.totalScy);
|
|
146
|
+
uint256 timeToExpiry = market.expiry - blockTime;
|
|
147
|
+
int256 rateScalar = _getRateScalar(market, timeToExpiry);
|
|
145
148
|
market.lastImpliedRate = _getImpliedRate(
|
|
146
149
|
market.totalOt,
|
|
147
150
|
totalAsset,
|
|
148
|
-
|
|
149
|
-
|
|
151
|
+
rateScalar,
|
|
152
|
+
initialAnchor,
|
|
150
153
|
market.expiry - blockTime
|
|
151
154
|
);
|
|
152
155
|
}
|
|
@@ -211,19 +214,24 @@ library MarketMathLib {
|
|
|
211
214
|
scyUsed = scyDesired;
|
|
212
215
|
otUsed = otDesired;
|
|
213
216
|
} else {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
217
|
+
int256 netLpByOt = (otDesired * market.totalLp) / market.totalOt;
|
|
218
|
+
int256 netLpByScy = (scyDesired * market.totalLp) / market.totalScy;
|
|
219
|
+
if (netLpByOt < netLpByScy) {
|
|
220
|
+
lpToAccount = netLpByOt;
|
|
221
|
+
otUsed = otDesired;
|
|
222
|
+
scyUsed = (market.totalScy * lpToAccount) / market.totalLp;
|
|
223
|
+
} else {
|
|
224
|
+
lpToAccount = netLpByScy;
|
|
225
|
+
scyUsed = scyDesired;
|
|
226
|
+
otUsed = (market.totalOt * lpToAccount) / market.totalLp;
|
|
227
|
+
}
|
|
220
228
|
}
|
|
221
229
|
|
|
230
|
+
require(lpToAccount > 0, "INSUFFICIENT_LIQUIDITY_MINTED");
|
|
231
|
+
|
|
222
232
|
market.totalScy += scyUsed;
|
|
223
233
|
market.totalOt += otUsed;
|
|
224
234
|
market.totalLp += lpToAccount + lpToReserve;
|
|
225
|
-
|
|
226
|
-
require(lpToAccount > 0, "INSUFFICIENT_LIQUIDITY_MINTED");
|
|
227
235
|
}
|
|
228
236
|
|
|
229
237
|
function _removeLiquidity(MarketParameters memory market, int256 lpToRemove)
|
|
@@ -254,7 +262,7 @@ library MarketMathLib {
|
|
|
254
262
|
int256 otToAccount,
|
|
255
263
|
uint256 blockTime
|
|
256
264
|
) private pure returns (int256 netScyToAccount, int256 netScyToReserve) {
|
|
257
|
-
require(blockTime < market.expiry, "
|
|
265
|
+
require(blockTime < market.expiry, "market expired");
|
|
258
266
|
|
|
259
267
|
ExecuteTradeSlot memory slot;
|
|
260
268
|
slot.timeToExpiry = market.expiry - blockTime;
|
|
@@ -313,7 +321,7 @@ library MarketMathLib {
|
|
|
313
321
|
// It's technically possible that the implied rate is actually exactly zero (or
|
|
314
322
|
// more accurately the natural log rounds down to zero) but we will still fail
|
|
315
323
|
// in this case. If this does happen we may assume that markets are not initialized.
|
|
316
|
-
require(market.lastImpliedRate != 0);
|
|
324
|
+
require(market.lastImpliedRate != 0, "zero impliedRate");
|
|
317
325
|
|
|
318
326
|
(netScyToAccount, netScyToReserve) = _setNewMarketState(
|
|
319
327
|
market,
|
|
@@ -345,7 +353,7 @@ library MarketMathLib {
|
|
|
345
353
|
rateScalar = _getRateScalar(market, timeToExpiry);
|
|
346
354
|
totalAsset = index.scyToAsset(market.totalScy);
|
|
347
355
|
|
|
348
|
-
require(market.totalOt != 0 && totalAsset != 0);
|
|
356
|
+
require(market.totalOt != 0 && totalAsset != 0, "invalid market state");
|
|
349
357
|
|
|
350
358
|
// Get the rateAnchor given the market state, this will establish the baseline for where
|
|
351
359
|
// the exchange rate is set.
|
|
@@ -545,7 +553,7 @@ library MarketMathLib {
|
|
|
545
553
|
// removed). Over time, the yield from SCY will slightly decrease the proportion (the
|
|
546
554
|
// amount of Asset in the market must be monotonically increasing). Therefore it is not
|
|
547
555
|
// possible for the proportion to go over max market proportion unless borrowing occurs.
|
|
548
|
-
require(proportion <= MAX_MARKET_PROPORTION);
|
|
556
|
+
require(proportion <= MAX_MARKET_PROPORTION, "max proportion exceeded");
|
|
549
557
|
|
|
550
558
|
int256 lnProportion = _logProportion(proportion);
|
|
551
559
|
|
|
@@ -558,7 +566,7 @@ library MarketMathLib {
|
|
|
558
566
|
|
|
559
567
|
function _logProportion(int256 proportion) private pure returns (int256 res) {
|
|
560
568
|
// This will result in divide by zero, short circuit
|
|
561
|
-
require(proportion != FixedPoint.ONE_INT);
|
|
569
|
+
require(proportion != FixedPoint.ONE_INT, "proportion must not be one");
|
|
562
570
|
|
|
563
571
|
// Convert proportion to what is used inside the logit function (p / (1-p))
|
|
564
572
|
int256 logitP = proportion.divDown(FixedPoint.ONE_INT - proportion);
|
package/package.json
CHANGED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import {
|
|
5
|
+
BaseContract,
|
|
6
|
+
BigNumber,
|
|
7
|
+
BigNumberish,
|
|
8
|
+
BytesLike,
|
|
9
|
+
CallOverrides,
|
|
10
|
+
ContractTransaction,
|
|
11
|
+
Overrides,
|
|
12
|
+
PopulatedTransaction,
|
|
13
|
+
Signer,
|
|
14
|
+
utils,
|
|
15
|
+
} from "ethers";
|
|
16
|
+
import { FunctionFragment, Result } from "@ethersproject/abi";
|
|
17
|
+
import { Listener, Provider } from "@ethersproject/providers";
|
|
18
|
+
import type {
|
|
19
|
+
TypedEventFilter,
|
|
20
|
+
TypedEvent,
|
|
21
|
+
TypedListener,
|
|
22
|
+
OnEvent,
|
|
23
|
+
} from "./common";
|
|
24
|
+
|
|
25
|
+
export interface IPRouterStaticInterface extends utils.Interface {
|
|
26
|
+
contractName: "IPRouterStatic";
|
|
27
|
+
functions: {
|
|
28
|
+
"addLiquidityStatic(address,uint256,uint256)": FunctionFragment;
|
|
29
|
+
"getOtImpliedYield(address)": FunctionFragment;
|
|
30
|
+
"removeLiquidityStatic(address,uint256)": FunctionFragment;
|
|
31
|
+
"scyIndex(address)": FunctionFragment;
|
|
32
|
+
"swapOtForScyStatic(address,uint256)": FunctionFragment;
|
|
33
|
+
"swapScyForOtStatic(address,uint256)": FunctionFragment;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
encodeFunctionData(
|
|
37
|
+
functionFragment: "addLiquidityStatic",
|
|
38
|
+
values: [string, BigNumberish, BigNumberish]
|
|
39
|
+
): string;
|
|
40
|
+
encodeFunctionData(
|
|
41
|
+
functionFragment: "getOtImpliedYield",
|
|
42
|
+
values: [string]
|
|
43
|
+
): string;
|
|
44
|
+
encodeFunctionData(
|
|
45
|
+
functionFragment: "removeLiquidityStatic",
|
|
46
|
+
values: [string, BigNumberish]
|
|
47
|
+
): string;
|
|
48
|
+
encodeFunctionData(functionFragment: "scyIndex", values: [string]): string;
|
|
49
|
+
encodeFunctionData(
|
|
50
|
+
functionFragment: "swapOtForScyStatic",
|
|
51
|
+
values: [string, BigNumberish]
|
|
52
|
+
): string;
|
|
53
|
+
encodeFunctionData(
|
|
54
|
+
functionFragment: "swapScyForOtStatic",
|
|
55
|
+
values: [string, BigNumberish]
|
|
56
|
+
): string;
|
|
57
|
+
|
|
58
|
+
decodeFunctionResult(
|
|
59
|
+
functionFragment: "addLiquidityStatic",
|
|
60
|
+
data: BytesLike
|
|
61
|
+
): Result;
|
|
62
|
+
decodeFunctionResult(
|
|
63
|
+
functionFragment: "getOtImpliedYield",
|
|
64
|
+
data: BytesLike
|
|
65
|
+
): Result;
|
|
66
|
+
decodeFunctionResult(
|
|
67
|
+
functionFragment: "removeLiquidityStatic",
|
|
68
|
+
data: BytesLike
|
|
69
|
+
): Result;
|
|
70
|
+
decodeFunctionResult(functionFragment: "scyIndex", data: BytesLike): Result;
|
|
71
|
+
decodeFunctionResult(
|
|
72
|
+
functionFragment: "swapOtForScyStatic",
|
|
73
|
+
data: BytesLike
|
|
74
|
+
): Result;
|
|
75
|
+
decodeFunctionResult(
|
|
76
|
+
functionFragment: "swapScyForOtStatic",
|
|
77
|
+
data: BytesLike
|
|
78
|
+
): Result;
|
|
79
|
+
|
|
80
|
+
events: {};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface IPRouterStatic extends BaseContract {
|
|
84
|
+
contractName: "IPRouterStatic";
|
|
85
|
+
connect(signerOrProvider: Signer | Provider | string): this;
|
|
86
|
+
attach(addressOrName: string): this;
|
|
87
|
+
deployed(): Promise<this>;
|
|
88
|
+
|
|
89
|
+
interface: IPRouterStaticInterface;
|
|
90
|
+
|
|
91
|
+
queryFilter<TEvent extends TypedEvent>(
|
|
92
|
+
event: TypedEventFilter<TEvent>,
|
|
93
|
+
fromBlockOrBlockhash?: string | number | undefined,
|
|
94
|
+
toBlock?: string | number | undefined
|
|
95
|
+
): Promise<Array<TEvent>>;
|
|
96
|
+
|
|
97
|
+
listeners<TEvent extends TypedEvent>(
|
|
98
|
+
eventFilter?: TypedEventFilter<TEvent>
|
|
99
|
+
): Array<TypedListener<TEvent>>;
|
|
100
|
+
listeners(eventName?: string): Array<Listener>;
|
|
101
|
+
removeAllListeners<TEvent extends TypedEvent>(
|
|
102
|
+
eventFilter: TypedEventFilter<TEvent>
|
|
103
|
+
): this;
|
|
104
|
+
removeAllListeners(eventName?: string): this;
|
|
105
|
+
off: OnEvent<this>;
|
|
106
|
+
on: OnEvent<this>;
|
|
107
|
+
once: OnEvent<this>;
|
|
108
|
+
removeListener: OnEvent<this>;
|
|
109
|
+
|
|
110
|
+
functions: {
|
|
111
|
+
addLiquidityStatic(
|
|
112
|
+
market: string,
|
|
113
|
+
scyDesired: BigNumberish,
|
|
114
|
+
otDesired: BigNumberish,
|
|
115
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
116
|
+
): Promise<ContractTransaction>;
|
|
117
|
+
|
|
118
|
+
getOtImpliedYield(
|
|
119
|
+
market: string,
|
|
120
|
+
overrides?: CallOverrides
|
|
121
|
+
): Promise<[BigNumber]>;
|
|
122
|
+
|
|
123
|
+
removeLiquidityStatic(
|
|
124
|
+
market: string,
|
|
125
|
+
lpToRemove: BigNumberish,
|
|
126
|
+
overrides?: CallOverrides
|
|
127
|
+
): Promise<
|
|
128
|
+
[BigNumber, BigNumber] & { netScyOut: BigNumber; netOtOut: BigNumber }
|
|
129
|
+
>;
|
|
130
|
+
|
|
131
|
+
scyIndex(
|
|
132
|
+
market: string,
|
|
133
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
134
|
+
): Promise<ContractTransaction>;
|
|
135
|
+
|
|
136
|
+
swapOtForScyStatic(
|
|
137
|
+
market: string,
|
|
138
|
+
exactOtIn: BigNumberish,
|
|
139
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
140
|
+
): Promise<ContractTransaction>;
|
|
141
|
+
|
|
142
|
+
swapScyForOtStatic(
|
|
143
|
+
market: string,
|
|
144
|
+
exactOtOut: BigNumberish,
|
|
145
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
146
|
+
): Promise<ContractTransaction>;
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
addLiquidityStatic(
|
|
150
|
+
market: string,
|
|
151
|
+
scyDesired: BigNumberish,
|
|
152
|
+
otDesired: BigNumberish,
|
|
153
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
154
|
+
): Promise<ContractTransaction>;
|
|
155
|
+
|
|
156
|
+
getOtImpliedYield(
|
|
157
|
+
market: string,
|
|
158
|
+
overrides?: CallOverrides
|
|
159
|
+
): Promise<BigNumber>;
|
|
160
|
+
|
|
161
|
+
removeLiquidityStatic(
|
|
162
|
+
market: string,
|
|
163
|
+
lpToRemove: BigNumberish,
|
|
164
|
+
overrides?: CallOverrides
|
|
165
|
+
): Promise<
|
|
166
|
+
[BigNumber, BigNumber] & { netScyOut: BigNumber; netOtOut: BigNumber }
|
|
167
|
+
>;
|
|
168
|
+
|
|
169
|
+
scyIndex(
|
|
170
|
+
market: string,
|
|
171
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
172
|
+
): Promise<ContractTransaction>;
|
|
173
|
+
|
|
174
|
+
swapOtForScyStatic(
|
|
175
|
+
market: string,
|
|
176
|
+
exactOtIn: BigNumberish,
|
|
177
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
178
|
+
): Promise<ContractTransaction>;
|
|
179
|
+
|
|
180
|
+
swapScyForOtStatic(
|
|
181
|
+
market: string,
|
|
182
|
+
exactOtOut: BigNumberish,
|
|
183
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
184
|
+
): Promise<ContractTransaction>;
|
|
185
|
+
|
|
186
|
+
callStatic: {
|
|
187
|
+
addLiquidityStatic(
|
|
188
|
+
market: string,
|
|
189
|
+
scyDesired: BigNumberish,
|
|
190
|
+
otDesired: BigNumberish,
|
|
191
|
+
overrides?: CallOverrides
|
|
192
|
+
): Promise<
|
|
193
|
+
[BigNumber, BigNumber, BigNumber] & {
|
|
194
|
+
netLpOut: BigNumber;
|
|
195
|
+
scyUsed: BigNumber;
|
|
196
|
+
otUsed: BigNumber;
|
|
197
|
+
}
|
|
198
|
+
>;
|
|
199
|
+
|
|
200
|
+
getOtImpliedYield(
|
|
201
|
+
market: string,
|
|
202
|
+
overrides?: CallOverrides
|
|
203
|
+
): Promise<BigNumber>;
|
|
204
|
+
|
|
205
|
+
removeLiquidityStatic(
|
|
206
|
+
market: string,
|
|
207
|
+
lpToRemove: BigNumberish,
|
|
208
|
+
overrides?: CallOverrides
|
|
209
|
+
): Promise<
|
|
210
|
+
[BigNumber, BigNumber] & { netScyOut: BigNumber; netOtOut: BigNumber }
|
|
211
|
+
>;
|
|
212
|
+
|
|
213
|
+
scyIndex(market: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
214
|
+
|
|
215
|
+
swapOtForScyStatic(
|
|
216
|
+
market: string,
|
|
217
|
+
exactOtIn: BigNumberish,
|
|
218
|
+
overrides?: CallOverrides
|
|
219
|
+
): Promise<
|
|
220
|
+
[BigNumber, BigNumber] & { netScyOut: BigNumber; netScyFee: BigNumber }
|
|
221
|
+
>;
|
|
222
|
+
|
|
223
|
+
swapScyForOtStatic(
|
|
224
|
+
market: string,
|
|
225
|
+
exactOtOut: BigNumberish,
|
|
226
|
+
overrides?: CallOverrides
|
|
227
|
+
): Promise<
|
|
228
|
+
[BigNumber, BigNumber] & { netScyIn: BigNumber; netScyFee: BigNumber }
|
|
229
|
+
>;
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
filters: {};
|
|
233
|
+
|
|
234
|
+
estimateGas: {
|
|
235
|
+
addLiquidityStatic(
|
|
236
|
+
market: string,
|
|
237
|
+
scyDesired: BigNumberish,
|
|
238
|
+
otDesired: BigNumberish,
|
|
239
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
240
|
+
): Promise<BigNumber>;
|
|
241
|
+
|
|
242
|
+
getOtImpliedYield(
|
|
243
|
+
market: string,
|
|
244
|
+
overrides?: CallOverrides
|
|
245
|
+
): Promise<BigNumber>;
|
|
246
|
+
|
|
247
|
+
removeLiquidityStatic(
|
|
248
|
+
market: string,
|
|
249
|
+
lpToRemove: BigNumberish,
|
|
250
|
+
overrides?: CallOverrides
|
|
251
|
+
): Promise<BigNumber>;
|
|
252
|
+
|
|
253
|
+
scyIndex(
|
|
254
|
+
market: string,
|
|
255
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
256
|
+
): Promise<BigNumber>;
|
|
257
|
+
|
|
258
|
+
swapOtForScyStatic(
|
|
259
|
+
market: string,
|
|
260
|
+
exactOtIn: BigNumberish,
|
|
261
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
262
|
+
): Promise<BigNumber>;
|
|
263
|
+
|
|
264
|
+
swapScyForOtStatic(
|
|
265
|
+
market: string,
|
|
266
|
+
exactOtOut: BigNumberish,
|
|
267
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
268
|
+
): Promise<BigNumber>;
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
populateTransaction: {
|
|
272
|
+
addLiquidityStatic(
|
|
273
|
+
market: string,
|
|
274
|
+
scyDesired: BigNumberish,
|
|
275
|
+
otDesired: BigNumberish,
|
|
276
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
277
|
+
): Promise<PopulatedTransaction>;
|
|
278
|
+
|
|
279
|
+
getOtImpliedYield(
|
|
280
|
+
market: string,
|
|
281
|
+
overrides?: CallOverrides
|
|
282
|
+
): Promise<PopulatedTransaction>;
|
|
283
|
+
|
|
284
|
+
removeLiquidityStatic(
|
|
285
|
+
market: string,
|
|
286
|
+
lpToRemove: BigNumberish,
|
|
287
|
+
overrides?: CallOverrides
|
|
288
|
+
): Promise<PopulatedTransaction>;
|
|
289
|
+
|
|
290
|
+
scyIndex(
|
|
291
|
+
market: string,
|
|
292
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
293
|
+
): Promise<PopulatedTransaction>;
|
|
294
|
+
|
|
295
|
+
swapOtForScyStatic(
|
|
296
|
+
market: string,
|
|
297
|
+
exactOtIn: BigNumberish,
|
|
298
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
299
|
+
): Promise<PopulatedTransaction>;
|
|
300
|
+
|
|
301
|
+
swapScyForOtStatic(
|
|
302
|
+
market: string,
|
|
303
|
+
exactOtOut: BigNumberish,
|
|
304
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
305
|
+
): Promise<PopulatedTransaction>;
|
|
306
|
+
};
|
|
307
|
+
}
|