@pendle/core-v2 0.5.0 → 0.5.1-beta
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/RouterStatic.sol +128 -1
- package/contracts/interfaces/IPRouterStatic.sol +27 -0
- package/package.json +1 -1
- package/typechain-types/RouterStatic.ts +0 -429
- package/typechain-types/factories/PendleRouter__factory.ts +1 -1
- package/typechain-types/factories/RouterStatic__factory.ts +1 -576
|
@@ -84,7 +84,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
84
84
|
return SCYIndexLib.newIndex(IPMarket(market).SCY());
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
function getOtImpliedYield(address market)
|
|
87
|
+
function getOtImpliedYield(address market) public view returns (int256) {
|
|
88
88
|
MarketState memory state = IPMarket(market).readState(false);
|
|
89
89
|
|
|
90
90
|
int256 lnImpliedRate = (state.lastImpliedRate).Int();
|
|
@@ -104,4 +104,131 @@ contract RouterStatic is IPRouterStatic {
|
|
|
104
104
|
else if (yieldContractFactory.isYT(token)) isYT = true;
|
|
105
105
|
else if (marketFactory.isValidMarket(token)) isMarket = true;
|
|
106
106
|
}
|
|
107
|
+
|
|
108
|
+
function getUserYOInfo(address token, address user)
|
|
109
|
+
public
|
|
110
|
+
view
|
|
111
|
+
returns (UserYOInfo memory userYOInfo)
|
|
112
|
+
{
|
|
113
|
+
(userYOInfo.yt, userYOInfo.ot) = getYO(token);
|
|
114
|
+
IPYieldToken YT = IPYieldToken(userYOInfo.yt);
|
|
115
|
+
userYOInfo.ytBalance = YT.balanceOf(user);
|
|
116
|
+
userYOInfo.otBalance = IPOwnershipToken(userYOInfo.ot).balanceOf(user);
|
|
117
|
+
userYOInfo.unclaimedInterest.token = YT.SCY();
|
|
118
|
+
(, userYOInfo.unclaimedInterest.amount) = YT.getInterestData(user);
|
|
119
|
+
address[] memory rewardTokens = YT.getRewardTokens();
|
|
120
|
+
TokenAmount[] memory unclaimedRewards = new TokenAmount[](rewardTokens.length);
|
|
121
|
+
uint256 length = 0;
|
|
122
|
+
for (uint256 i = 0; i < rewardTokens.length; ++i) {
|
|
123
|
+
address rewardToken = rewardTokens[i];
|
|
124
|
+
(, uint256 amount) = YT.getUserReward(user, rewardToken);
|
|
125
|
+
if (amount > 0) {
|
|
126
|
+
unclaimedRewards[length].token = rewardToken;
|
|
127
|
+
unclaimedRewards[length].amount = amount;
|
|
128
|
+
++length;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
userYOInfo.unclaimedRewards = new TokenAmount[](length);
|
|
132
|
+
for (uint256 i = 0; i < length; ++i) {
|
|
133
|
+
userYOInfo.unclaimedRewards[i] = unclaimedRewards[i];
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function getYOInfo(address token)
|
|
138
|
+
external
|
|
139
|
+
returns (
|
|
140
|
+
uint256 exchangeRate,
|
|
141
|
+
uint256 totalSupply,
|
|
142
|
+
RewardIndex[] memory rewardIndexes
|
|
143
|
+
)
|
|
144
|
+
{
|
|
145
|
+
(address yt, ) = getYO(token);
|
|
146
|
+
IPYieldToken YT = IPYieldToken(yt);
|
|
147
|
+
exchangeRate = YT.getScyIndexBeforeExpiry();
|
|
148
|
+
totalSupply = YT.totalSupply();
|
|
149
|
+
address[] memory rewardTokens = YT.getRewardTokens();
|
|
150
|
+
rewardIndexes = new RewardIndex[](rewardTokens.length);
|
|
151
|
+
for (uint256 i = 0; i < rewardTokens.length; ++i) {
|
|
152
|
+
address rewardToken = rewardTokens[i];
|
|
153
|
+
rewardIndexes[i].rewardToken = rewardToken;
|
|
154
|
+
(, rewardIndexes[i].index) = YT.getGlobalReward(rewardToken);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function getYO(address token) public view returns (address ot, address yt) {
|
|
159
|
+
if (yieldContractFactory.isOT(token)) {
|
|
160
|
+
yt = IPOwnershipToken(token).YT();
|
|
161
|
+
ot = token;
|
|
162
|
+
} else if (yieldContractFactory.isYT(token)) {
|
|
163
|
+
yt = token;
|
|
164
|
+
ot = IPYieldToken(token).OT();
|
|
165
|
+
} else if (marketFactory.isValidMarket(token)) {
|
|
166
|
+
yt = IPMarket(token).YT();
|
|
167
|
+
ot = IPMarket(token).OT();
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
function getMarketInfo(address market)
|
|
172
|
+
external
|
|
173
|
+
view
|
|
174
|
+
returns (
|
|
175
|
+
address ot,
|
|
176
|
+
address scy,
|
|
177
|
+
MarketState memory state,
|
|
178
|
+
int256 impliedYield,
|
|
179
|
+
uint256 exchangeRate
|
|
180
|
+
)
|
|
181
|
+
{
|
|
182
|
+
IPMarket _market = IPMarket(market);
|
|
183
|
+
ot = _market.OT();
|
|
184
|
+
scy = _market.SCY();
|
|
185
|
+
state = _market.readState(true);
|
|
186
|
+
impliedYield = getOtImpliedYield(market);
|
|
187
|
+
exchangeRate = 0; // TODO: get the actual exchange rate
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function getUserMarketInfo(address market, address user)
|
|
191
|
+
public
|
|
192
|
+
view
|
|
193
|
+
returns (UserMarketInfo memory userMarketInfo)
|
|
194
|
+
{
|
|
195
|
+
IPMarket _market = IPMarket(market);
|
|
196
|
+
userMarketInfo.market = market;
|
|
197
|
+
// TODO: What will this return if the user's balance is staked?
|
|
198
|
+
userMarketInfo.lpBalance = _market.balanceOf(user);
|
|
199
|
+
// TODO: Is there a way to convert LP to OT and SCY?
|
|
200
|
+
userMarketInfo.otBalance = TokenAmount(_market.OT(), 0);
|
|
201
|
+
userMarketInfo.scyBalance = TokenAmount(_market.SCY(), 0);
|
|
202
|
+
// TODO: Get this from SCY once it is in the interface
|
|
203
|
+
userMarketInfo.assetBalance = TokenAmount(address(0), 0);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
function getUserYOPositionsByTokens(address user, address[] calldata tokens)
|
|
207
|
+
external
|
|
208
|
+
view
|
|
209
|
+
returns (UserYOInfo[] memory userYOPositions)
|
|
210
|
+
{
|
|
211
|
+
userYOPositions = new UserYOInfo[](tokens.length);
|
|
212
|
+
for (uint256 i = 0; i < tokens.length; ++i) {
|
|
213
|
+
userYOPositions[i] = getUserYOInfo(tokens[i], user);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
function getUserMarketPositions(address user, address[] calldata markets)
|
|
218
|
+
external
|
|
219
|
+
view
|
|
220
|
+
returns (UserMarketInfo[] memory userMarketPositions)
|
|
221
|
+
{
|
|
222
|
+
userMarketPositions = new UserMarketInfo[](markets.length);
|
|
223
|
+
for (uint256 i = 0; i < markets.length; ++i) {
|
|
224
|
+
userMarketPositions[i] = getUserMarketInfo(markets[i], user);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
function hasYOPosition(UserYOInfo memory userYOInfo) public pure returns (bool hasPosition) {
|
|
229
|
+
hasPosition = (userYOInfo.ytBalance > 0 ||
|
|
230
|
+
userYOInfo.otBalance > 0 ||
|
|
231
|
+
userYOInfo.unclaimedInterest.amount > 0 ||
|
|
232
|
+
userYOInfo.unclaimedRewards.length > 0);
|
|
233
|
+
}
|
|
107
234
|
}
|
|
@@ -4,6 +4,33 @@ pragma solidity 0.8.9;
|
|
|
4
4
|
import "../libraries/math/MarketMathCore.sol";
|
|
5
5
|
|
|
6
6
|
interface IPRouterStatic {
|
|
7
|
+
struct TokenAmount {
|
|
8
|
+
address token;
|
|
9
|
+
uint256 amount;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
struct RewardIndex {
|
|
13
|
+
address rewardToken;
|
|
14
|
+
uint256 index;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
struct UserYOInfo {
|
|
18
|
+
address yt;
|
|
19
|
+
address ot;
|
|
20
|
+
uint256 ytBalance;
|
|
21
|
+
uint256 otBalance;
|
|
22
|
+
TokenAmount unclaimedInterest;
|
|
23
|
+
TokenAmount[] unclaimedRewards;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
struct UserMarketInfo {
|
|
27
|
+
address market;
|
|
28
|
+
uint256 lpBalance;
|
|
29
|
+
TokenAmount otBalance;
|
|
30
|
+
TokenAmount scyBalance;
|
|
31
|
+
TokenAmount assetBalance;
|
|
32
|
+
}
|
|
33
|
+
|
|
7
34
|
function addLiquidityStatic(
|
|
8
35
|
address market,
|
|
9
36
|
uint256 scyDesired,
|
package/package.json
CHANGED
|
@@ -22,126 +22,12 @@ import type {
|
|
|
22
22
|
OnEvent,
|
|
23
23
|
} from "./common";
|
|
24
24
|
|
|
25
|
-
export type MarketStateStruct = {
|
|
26
|
-
totalOt: BigNumberish;
|
|
27
|
-
totalScy: BigNumberish;
|
|
28
|
-
totalLp: BigNumberish;
|
|
29
|
-
oracleRate: BigNumberish;
|
|
30
|
-
treasury: string;
|
|
31
|
-
scalarRoot: BigNumberish;
|
|
32
|
-
feeRateRoot: BigNumberish;
|
|
33
|
-
rateOracleTimeWindow: BigNumberish;
|
|
34
|
-
expiry: BigNumberish;
|
|
35
|
-
reserveFeePercent: BigNumberish;
|
|
36
|
-
lastImpliedRate: BigNumberish;
|
|
37
|
-
lastTradeTime: BigNumberish;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
export type MarketStateStructOutput = [
|
|
41
|
-
BigNumber,
|
|
42
|
-
BigNumber,
|
|
43
|
-
BigNumber,
|
|
44
|
-
BigNumber,
|
|
45
|
-
string,
|
|
46
|
-
BigNumber,
|
|
47
|
-
BigNumber,
|
|
48
|
-
BigNumber,
|
|
49
|
-
BigNumber,
|
|
50
|
-
BigNumber,
|
|
51
|
-
BigNumber,
|
|
52
|
-
BigNumber
|
|
53
|
-
] & {
|
|
54
|
-
totalOt: BigNumber;
|
|
55
|
-
totalScy: BigNumber;
|
|
56
|
-
totalLp: BigNumber;
|
|
57
|
-
oracleRate: BigNumber;
|
|
58
|
-
treasury: string;
|
|
59
|
-
scalarRoot: BigNumber;
|
|
60
|
-
feeRateRoot: BigNumber;
|
|
61
|
-
rateOracleTimeWindow: BigNumber;
|
|
62
|
-
expiry: BigNumber;
|
|
63
|
-
reserveFeePercent: BigNumber;
|
|
64
|
-
lastImpliedRate: BigNumber;
|
|
65
|
-
lastTradeTime: BigNumber;
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
export declare namespace IPRouterStatic {
|
|
69
|
-
export type TokenAmountStruct = { token: string; amount: BigNumberish };
|
|
70
|
-
|
|
71
|
-
export type TokenAmountStructOutput = [string, BigNumber] & {
|
|
72
|
-
token: string;
|
|
73
|
-
amount: BigNumber;
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
export type UserMarketInfoStruct = {
|
|
77
|
-
market: string;
|
|
78
|
-
lpBalance: BigNumberish;
|
|
79
|
-
otBalance: IPRouterStatic.TokenAmountStruct;
|
|
80
|
-
scyBalance: IPRouterStatic.TokenAmountStruct;
|
|
81
|
-
assetBalance: IPRouterStatic.TokenAmountStruct;
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
export type UserMarketInfoStructOutput = [
|
|
85
|
-
string,
|
|
86
|
-
BigNumber,
|
|
87
|
-
IPRouterStatic.TokenAmountStructOutput,
|
|
88
|
-
IPRouterStatic.TokenAmountStructOutput,
|
|
89
|
-
IPRouterStatic.TokenAmountStructOutput
|
|
90
|
-
] & {
|
|
91
|
-
market: string;
|
|
92
|
-
lpBalance: BigNumber;
|
|
93
|
-
otBalance: IPRouterStatic.TokenAmountStructOutput;
|
|
94
|
-
scyBalance: IPRouterStatic.TokenAmountStructOutput;
|
|
95
|
-
assetBalance: IPRouterStatic.TokenAmountStructOutput;
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
export type UserYOInfoStruct = {
|
|
99
|
-
yt: string;
|
|
100
|
-
ot: string;
|
|
101
|
-
ytBalance: BigNumberish;
|
|
102
|
-
otBalance: BigNumberish;
|
|
103
|
-
unclaimedInterest: IPRouterStatic.TokenAmountStruct;
|
|
104
|
-
unclaimedRewards: IPRouterStatic.TokenAmountStruct[];
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
export type UserYOInfoStructOutput = [
|
|
108
|
-
string,
|
|
109
|
-
string,
|
|
110
|
-
BigNumber,
|
|
111
|
-
BigNumber,
|
|
112
|
-
IPRouterStatic.TokenAmountStructOutput,
|
|
113
|
-
IPRouterStatic.TokenAmountStructOutput[]
|
|
114
|
-
] & {
|
|
115
|
-
yt: string;
|
|
116
|
-
ot: string;
|
|
117
|
-
ytBalance: BigNumber;
|
|
118
|
-
otBalance: BigNumber;
|
|
119
|
-
unclaimedInterest: IPRouterStatic.TokenAmountStructOutput;
|
|
120
|
-
unclaimedRewards: IPRouterStatic.TokenAmountStructOutput[];
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
export type RewardIndexStruct = { rewardToken: string; index: BigNumberish };
|
|
124
|
-
|
|
125
|
-
export type RewardIndexStructOutput = [string, BigNumber] & {
|
|
126
|
-
rewardToken: string;
|
|
127
|
-
index: BigNumber;
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
|
|
131
25
|
export interface RouterStaticInterface extends utils.Interface {
|
|
132
26
|
contractName: "RouterStatic";
|
|
133
27
|
functions: {
|
|
134
28
|
"addLiquidityStatic(address,uint256,uint256)": FunctionFragment;
|
|
135
|
-
"getMarketInfo(address)": FunctionFragment;
|
|
136
29
|
"getOtImpliedYield(address)": FunctionFragment;
|
|
137
30
|
"getPendleTokenType(address)": FunctionFragment;
|
|
138
|
-
"getUserMarketInfo(address,address)": FunctionFragment;
|
|
139
|
-
"getUserMarketPositions(address,address[])": FunctionFragment;
|
|
140
|
-
"getUserYOInfo(address,address)": FunctionFragment;
|
|
141
|
-
"getUserYOPositionsByTokens(address,address[])": FunctionFragment;
|
|
142
|
-
"getYO(address)": FunctionFragment;
|
|
143
|
-
"getYOInfo(address)": FunctionFragment;
|
|
144
|
-
"hasYOPosition((address,address,uint256,uint256,(address,uint256),(address,uint256)[]))": FunctionFragment;
|
|
145
31
|
"marketFactory()": FunctionFragment;
|
|
146
32
|
"removeLiquidityStatic(address,uint256)": FunctionFragment;
|
|
147
33
|
"scyIndex(address)": FunctionFragment;
|
|
@@ -154,10 +40,6 @@ export interface RouterStaticInterface extends utils.Interface {
|
|
|
154
40
|
functionFragment: "addLiquidityStatic",
|
|
155
41
|
values: [string, BigNumberish, BigNumberish]
|
|
156
42
|
): string;
|
|
157
|
-
encodeFunctionData(
|
|
158
|
-
functionFragment: "getMarketInfo",
|
|
159
|
-
values: [string]
|
|
160
|
-
): string;
|
|
161
43
|
encodeFunctionData(
|
|
162
44
|
functionFragment: "getOtImpliedYield",
|
|
163
45
|
values: [string]
|
|
@@ -166,28 +48,6 @@ export interface RouterStaticInterface extends utils.Interface {
|
|
|
166
48
|
functionFragment: "getPendleTokenType",
|
|
167
49
|
values: [string]
|
|
168
50
|
): string;
|
|
169
|
-
encodeFunctionData(
|
|
170
|
-
functionFragment: "getUserMarketInfo",
|
|
171
|
-
values: [string, string]
|
|
172
|
-
): string;
|
|
173
|
-
encodeFunctionData(
|
|
174
|
-
functionFragment: "getUserMarketPositions",
|
|
175
|
-
values: [string, string[]]
|
|
176
|
-
): string;
|
|
177
|
-
encodeFunctionData(
|
|
178
|
-
functionFragment: "getUserYOInfo",
|
|
179
|
-
values: [string, string]
|
|
180
|
-
): string;
|
|
181
|
-
encodeFunctionData(
|
|
182
|
-
functionFragment: "getUserYOPositionsByTokens",
|
|
183
|
-
values: [string, string[]]
|
|
184
|
-
): string;
|
|
185
|
-
encodeFunctionData(functionFragment: "getYO", values: [string]): string;
|
|
186
|
-
encodeFunctionData(functionFragment: "getYOInfo", values: [string]): string;
|
|
187
|
-
encodeFunctionData(
|
|
188
|
-
functionFragment: "hasYOPosition",
|
|
189
|
-
values: [IPRouterStatic.UserYOInfoStruct]
|
|
190
|
-
): string;
|
|
191
51
|
encodeFunctionData(
|
|
192
52
|
functionFragment: "marketFactory",
|
|
193
53
|
values?: undefined
|
|
@@ -214,10 +74,6 @@ export interface RouterStaticInterface extends utils.Interface {
|
|
|
214
74
|
functionFragment: "addLiquidityStatic",
|
|
215
75
|
data: BytesLike
|
|
216
76
|
): Result;
|
|
217
|
-
decodeFunctionResult(
|
|
218
|
-
functionFragment: "getMarketInfo",
|
|
219
|
-
data: BytesLike
|
|
220
|
-
): Result;
|
|
221
77
|
decodeFunctionResult(
|
|
222
78
|
functionFragment: "getOtImpliedYield",
|
|
223
79
|
data: BytesLike
|
|
@@ -226,28 +82,6 @@ export interface RouterStaticInterface extends utils.Interface {
|
|
|
226
82
|
functionFragment: "getPendleTokenType",
|
|
227
83
|
data: BytesLike
|
|
228
84
|
): Result;
|
|
229
|
-
decodeFunctionResult(
|
|
230
|
-
functionFragment: "getUserMarketInfo",
|
|
231
|
-
data: BytesLike
|
|
232
|
-
): Result;
|
|
233
|
-
decodeFunctionResult(
|
|
234
|
-
functionFragment: "getUserMarketPositions",
|
|
235
|
-
data: BytesLike
|
|
236
|
-
): Result;
|
|
237
|
-
decodeFunctionResult(
|
|
238
|
-
functionFragment: "getUserYOInfo",
|
|
239
|
-
data: BytesLike
|
|
240
|
-
): Result;
|
|
241
|
-
decodeFunctionResult(
|
|
242
|
-
functionFragment: "getUserYOPositionsByTokens",
|
|
243
|
-
data: BytesLike
|
|
244
|
-
): Result;
|
|
245
|
-
decodeFunctionResult(functionFragment: "getYO", data: BytesLike): Result;
|
|
246
|
-
decodeFunctionResult(functionFragment: "getYOInfo", data: BytesLike): Result;
|
|
247
|
-
decodeFunctionResult(
|
|
248
|
-
functionFragment: "hasYOPosition",
|
|
249
|
-
data: BytesLike
|
|
250
|
-
): Result;
|
|
251
85
|
decodeFunctionResult(
|
|
252
86
|
functionFragment: "marketFactory",
|
|
253
87
|
data: BytesLike
|
|
@@ -308,19 +142,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
308
142
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
309
143
|
): Promise<ContractTransaction>;
|
|
310
144
|
|
|
311
|
-
getMarketInfo(
|
|
312
|
-
market: string,
|
|
313
|
-
overrides?: CallOverrides
|
|
314
|
-
): Promise<
|
|
315
|
-
[string, string, MarketStateStructOutput, BigNumber, BigNumber] & {
|
|
316
|
-
ot: string;
|
|
317
|
-
scy: string;
|
|
318
|
-
state: MarketStateStructOutput;
|
|
319
|
-
impliedYield: BigNumber;
|
|
320
|
-
exchangeRate: BigNumber;
|
|
321
|
-
}
|
|
322
|
-
>;
|
|
323
|
-
|
|
324
145
|
getOtImpliedYield(
|
|
325
146
|
market: string,
|
|
326
147
|
overrides?: CallOverrides
|
|
@@ -337,61 +158,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
337
158
|
}
|
|
338
159
|
>;
|
|
339
160
|
|
|
340
|
-
getUserMarketInfo(
|
|
341
|
-
market: string,
|
|
342
|
-
user: string,
|
|
343
|
-
overrides?: CallOverrides
|
|
344
|
-
): Promise<
|
|
345
|
-
[IPRouterStatic.UserMarketInfoStructOutput] & {
|
|
346
|
-
userMarketInfo: IPRouterStatic.UserMarketInfoStructOutput;
|
|
347
|
-
}
|
|
348
|
-
>;
|
|
349
|
-
|
|
350
|
-
getUserMarketPositions(
|
|
351
|
-
user: string,
|
|
352
|
-
markets: string[],
|
|
353
|
-
overrides?: CallOverrides
|
|
354
|
-
): Promise<
|
|
355
|
-
[IPRouterStatic.UserMarketInfoStructOutput[]] & {
|
|
356
|
-
userMarketPositions: IPRouterStatic.UserMarketInfoStructOutput[];
|
|
357
|
-
}
|
|
358
|
-
>;
|
|
359
|
-
|
|
360
|
-
getUserYOInfo(
|
|
361
|
-
token: string,
|
|
362
|
-
user: string,
|
|
363
|
-
overrides?: CallOverrides
|
|
364
|
-
): Promise<
|
|
365
|
-
[IPRouterStatic.UserYOInfoStructOutput] & {
|
|
366
|
-
userYOInfo: IPRouterStatic.UserYOInfoStructOutput;
|
|
367
|
-
}
|
|
368
|
-
>;
|
|
369
|
-
|
|
370
|
-
getUserYOPositionsByTokens(
|
|
371
|
-
user: string,
|
|
372
|
-
tokens: string[],
|
|
373
|
-
overrides?: CallOverrides
|
|
374
|
-
): Promise<
|
|
375
|
-
[IPRouterStatic.UserYOInfoStructOutput[]] & {
|
|
376
|
-
userYOPositions: IPRouterStatic.UserYOInfoStructOutput[];
|
|
377
|
-
}
|
|
378
|
-
>;
|
|
379
|
-
|
|
380
|
-
getYO(
|
|
381
|
-
token: string,
|
|
382
|
-
overrides?: CallOverrides
|
|
383
|
-
): Promise<[string, string] & { ot: string; yt: string }>;
|
|
384
|
-
|
|
385
|
-
getYOInfo(
|
|
386
|
-
token: string,
|
|
387
|
-
overrides?: Overrides & { from?: string | Promise<string> }
|
|
388
|
-
): Promise<ContractTransaction>;
|
|
389
|
-
|
|
390
|
-
hasYOPosition(
|
|
391
|
-
userYOInfo: IPRouterStatic.UserYOInfoStruct,
|
|
392
|
-
overrides?: CallOverrides
|
|
393
|
-
): Promise<[boolean] & { hasPosition: boolean }>;
|
|
394
|
-
|
|
395
161
|
marketFactory(overrides?: CallOverrides): Promise<[string]>;
|
|
396
162
|
|
|
397
163
|
removeLiquidityStatic(
|
|
@@ -429,19 +195,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
429
195
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
430
196
|
): Promise<ContractTransaction>;
|
|
431
197
|
|
|
432
|
-
getMarketInfo(
|
|
433
|
-
market: string,
|
|
434
|
-
overrides?: CallOverrides
|
|
435
|
-
): Promise<
|
|
436
|
-
[string, string, MarketStateStructOutput, BigNumber, BigNumber] & {
|
|
437
|
-
ot: string;
|
|
438
|
-
scy: string;
|
|
439
|
-
state: MarketStateStructOutput;
|
|
440
|
-
impliedYield: BigNumber;
|
|
441
|
-
exchangeRate: BigNumber;
|
|
442
|
-
}
|
|
443
|
-
>;
|
|
444
|
-
|
|
445
198
|
getOtImpliedYield(
|
|
446
199
|
market: string,
|
|
447
200
|
overrides?: CallOverrides
|
|
@@ -458,45 +211,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
458
211
|
}
|
|
459
212
|
>;
|
|
460
213
|
|
|
461
|
-
getUserMarketInfo(
|
|
462
|
-
market: string,
|
|
463
|
-
user: string,
|
|
464
|
-
overrides?: CallOverrides
|
|
465
|
-
): Promise<IPRouterStatic.UserMarketInfoStructOutput>;
|
|
466
|
-
|
|
467
|
-
getUserMarketPositions(
|
|
468
|
-
user: string,
|
|
469
|
-
markets: string[],
|
|
470
|
-
overrides?: CallOverrides
|
|
471
|
-
): Promise<IPRouterStatic.UserMarketInfoStructOutput[]>;
|
|
472
|
-
|
|
473
|
-
getUserYOInfo(
|
|
474
|
-
token: string,
|
|
475
|
-
user: string,
|
|
476
|
-
overrides?: CallOverrides
|
|
477
|
-
): Promise<IPRouterStatic.UserYOInfoStructOutput>;
|
|
478
|
-
|
|
479
|
-
getUserYOPositionsByTokens(
|
|
480
|
-
user: string,
|
|
481
|
-
tokens: string[],
|
|
482
|
-
overrides?: CallOverrides
|
|
483
|
-
): Promise<IPRouterStatic.UserYOInfoStructOutput[]>;
|
|
484
|
-
|
|
485
|
-
getYO(
|
|
486
|
-
token: string,
|
|
487
|
-
overrides?: CallOverrides
|
|
488
|
-
): Promise<[string, string] & { ot: string; yt: string }>;
|
|
489
|
-
|
|
490
|
-
getYOInfo(
|
|
491
|
-
token: string,
|
|
492
|
-
overrides?: Overrides & { from?: string | Promise<string> }
|
|
493
|
-
): Promise<ContractTransaction>;
|
|
494
|
-
|
|
495
|
-
hasYOPosition(
|
|
496
|
-
userYOInfo: IPRouterStatic.UserYOInfoStruct,
|
|
497
|
-
overrides?: CallOverrides
|
|
498
|
-
): Promise<boolean>;
|
|
499
|
-
|
|
500
214
|
marketFactory(overrides?: CallOverrides): Promise<string>;
|
|
501
215
|
|
|
502
216
|
removeLiquidityStatic(
|
|
@@ -540,19 +254,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
540
254
|
}
|
|
541
255
|
>;
|
|
542
256
|
|
|
543
|
-
getMarketInfo(
|
|
544
|
-
market: string,
|
|
545
|
-
overrides?: CallOverrides
|
|
546
|
-
): Promise<
|
|
547
|
-
[string, string, MarketStateStructOutput, BigNumber, BigNumber] & {
|
|
548
|
-
ot: string;
|
|
549
|
-
scy: string;
|
|
550
|
-
state: MarketStateStructOutput;
|
|
551
|
-
impliedYield: BigNumber;
|
|
552
|
-
exchangeRate: BigNumber;
|
|
553
|
-
}
|
|
554
|
-
>;
|
|
555
|
-
|
|
556
257
|
getOtImpliedYield(
|
|
557
258
|
market: string,
|
|
558
259
|
overrides?: CallOverrides
|
|
@@ -569,51 +270,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
569
270
|
}
|
|
570
271
|
>;
|
|
571
272
|
|
|
572
|
-
getUserMarketInfo(
|
|
573
|
-
market: string,
|
|
574
|
-
user: string,
|
|
575
|
-
overrides?: CallOverrides
|
|
576
|
-
): Promise<IPRouterStatic.UserMarketInfoStructOutput>;
|
|
577
|
-
|
|
578
|
-
getUserMarketPositions(
|
|
579
|
-
user: string,
|
|
580
|
-
markets: string[],
|
|
581
|
-
overrides?: CallOverrides
|
|
582
|
-
): Promise<IPRouterStatic.UserMarketInfoStructOutput[]>;
|
|
583
|
-
|
|
584
|
-
getUserYOInfo(
|
|
585
|
-
token: string,
|
|
586
|
-
user: string,
|
|
587
|
-
overrides?: CallOverrides
|
|
588
|
-
): Promise<IPRouterStatic.UserYOInfoStructOutput>;
|
|
589
|
-
|
|
590
|
-
getUserYOPositionsByTokens(
|
|
591
|
-
user: string,
|
|
592
|
-
tokens: string[],
|
|
593
|
-
overrides?: CallOverrides
|
|
594
|
-
): Promise<IPRouterStatic.UserYOInfoStructOutput[]>;
|
|
595
|
-
|
|
596
|
-
getYO(
|
|
597
|
-
token: string,
|
|
598
|
-
overrides?: CallOverrides
|
|
599
|
-
): Promise<[string, string] & { ot: string; yt: string }>;
|
|
600
|
-
|
|
601
|
-
getYOInfo(
|
|
602
|
-
token: string,
|
|
603
|
-
overrides?: CallOverrides
|
|
604
|
-
): Promise<
|
|
605
|
-
[BigNumber, BigNumber, IPRouterStatic.RewardIndexStructOutput[]] & {
|
|
606
|
-
exchangeRate: BigNumber;
|
|
607
|
-
totalSupply: BigNumber;
|
|
608
|
-
rewardIndexes: IPRouterStatic.RewardIndexStructOutput[];
|
|
609
|
-
}
|
|
610
|
-
>;
|
|
611
|
-
|
|
612
|
-
hasYOPosition(
|
|
613
|
-
userYOInfo: IPRouterStatic.UserYOInfoStruct,
|
|
614
|
-
overrides?: CallOverrides
|
|
615
|
-
): Promise<boolean>;
|
|
616
|
-
|
|
617
273
|
marketFactory(overrides?: CallOverrides): Promise<string>;
|
|
618
274
|
|
|
619
275
|
removeLiquidityStatic(
|
|
@@ -655,11 +311,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
655
311
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
656
312
|
): Promise<BigNumber>;
|
|
657
313
|
|
|
658
|
-
getMarketInfo(
|
|
659
|
-
market: string,
|
|
660
|
-
overrides?: CallOverrides
|
|
661
|
-
): Promise<BigNumber>;
|
|
662
|
-
|
|
663
314
|
getOtImpliedYield(
|
|
664
315
|
market: string,
|
|
665
316
|
overrides?: CallOverrides
|
|
@@ -670,42 +321,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
670
321
|
overrides?: CallOverrides
|
|
671
322
|
): Promise<BigNumber>;
|
|
672
323
|
|
|
673
|
-
getUserMarketInfo(
|
|
674
|
-
market: string,
|
|
675
|
-
user: string,
|
|
676
|
-
overrides?: CallOverrides
|
|
677
|
-
): Promise<BigNumber>;
|
|
678
|
-
|
|
679
|
-
getUserMarketPositions(
|
|
680
|
-
user: string,
|
|
681
|
-
markets: string[],
|
|
682
|
-
overrides?: CallOverrides
|
|
683
|
-
): Promise<BigNumber>;
|
|
684
|
-
|
|
685
|
-
getUserYOInfo(
|
|
686
|
-
token: string,
|
|
687
|
-
user: string,
|
|
688
|
-
overrides?: CallOverrides
|
|
689
|
-
): Promise<BigNumber>;
|
|
690
|
-
|
|
691
|
-
getUserYOPositionsByTokens(
|
|
692
|
-
user: string,
|
|
693
|
-
tokens: string[],
|
|
694
|
-
overrides?: CallOverrides
|
|
695
|
-
): Promise<BigNumber>;
|
|
696
|
-
|
|
697
|
-
getYO(token: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
698
|
-
|
|
699
|
-
getYOInfo(
|
|
700
|
-
token: string,
|
|
701
|
-
overrides?: Overrides & { from?: string | Promise<string> }
|
|
702
|
-
): Promise<BigNumber>;
|
|
703
|
-
|
|
704
|
-
hasYOPosition(
|
|
705
|
-
userYOInfo: IPRouterStatic.UserYOInfoStruct,
|
|
706
|
-
overrides?: CallOverrides
|
|
707
|
-
): Promise<BigNumber>;
|
|
708
|
-
|
|
709
324
|
marketFactory(overrides?: CallOverrides): Promise<BigNumber>;
|
|
710
325
|
|
|
711
326
|
removeLiquidityStatic(
|
|
@@ -742,11 +357,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
742
357
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
743
358
|
): Promise<PopulatedTransaction>;
|
|
744
359
|
|
|
745
|
-
getMarketInfo(
|
|
746
|
-
market: string,
|
|
747
|
-
overrides?: CallOverrides
|
|
748
|
-
): Promise<PopulatedTransaction>;
|
|
749
|
-
|
|
750
360
|
getOtImpliedYield(
|
|
751
361
|
market: string,
|
|
752
362
|
overrides?: CallOverrides
|
|
@@ -757,45 +367,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
757
367
|
overrides?: CallOverrides
|
|
758
368
|
): Promise<PopulatedTransaction>;
|
|
759
369
|
|
|
760
|
-
getUserMarketInfo(
|
|
761
|
-
market: string,
|
|
762
|
-
user: string,
|
|
763
|
-
overrides?: CallOverrides
|
|
764
|
-
): Promise<PopulatedTransaction>;
|
|
765
|
-
|
|
766
|
-
getUserMarketPositions(
|
|
767
|
-
user: string,
|
|
768
|
-
markets: string[],
|
|
769
|
-
overrides?: CallOverrides
|
|
770
|
-
): Promise<PopulatedTransaction>;
|
|
771
|
-
|
|
772
|
-
getUserYOInfo(
|
|
773
|
-
token: string,
|
|
774
|
-
user: string,
|
|
775
|
-
overrides?: CallOverrides
|
|
776
|
-
): Promise<PopulatedTransaction>;
|
|
777
|
-
|
|
778
|
-
getUserYOPositionsByTokens(
|
|
779
|
-
user: string,
|
|
780
|
-
tokens: string[],
|
|
781
|
-
overrides?: CallOverrides
|
|
782
|
-
): Promise<PopulatedTransaction>;
|
|
783
|
-
|
|
784
|
-
getYO(
|
|
785
|
-
token: string,
|
|
786
|
-
overrides?: CallOverrides
|
|
787
|
-
): Promise<PopulatedTransaction>;
|
|
788
|
-
|
|
789
|
-
getYOInfo(
|
|
790
|
-
token: string,
|
|
791
|
-
overrides?: Overrides & { from?: string | Promise<string> }
|
|
792
|
-
): Promise<PopulatedTransaction>;
|
|
793
|
-
|
|
794
|
-
hasYOPosition(
|
|
795
|
-
userYOInfo: IPRouterStatic.UserYOInfoStruct,
|
|
796
|
-
overrides?: CallOverrides
|
|
797
|
-
): Promise<PopulatedTransaction>;
|
|
798
|
-
|
|
799
370
|
marketFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
800
371
|
|
|
801
372
|
removeLiquidityStatic(
|