@pendle/core-v2 0.5.1-beta → 0.5.1-beta-3

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.
@@ -22,12 +22,127 @@ 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
+
25
131
  export interface IPRouterStaticInterface extends utils.Interface {
26
132
  contractName: "IPRouterStatic";
27
133
  functions: {
28
134
  "addLiquidityStatic(address,uint256,uint256)": FunctionFragment;
135
+ "getMarketInfo(address)": FunctionFragment;
29
136
  "getOtImpliedYield(address)": FunctionFragment;
30
137
  "getPendleTokenType(address)": FunctionFragment;
138
+ "getUserMarketInfo(address,address)": FunctionFragment;
139
+ "getUserMarketPositions(address,address[])": FunctionFragment;
140
+ "getUserSCYInfo(address,address)": FunctionFragment;
141
+ "getUserYOInfo(address,address)": FunctionFragment;
142
+ "getUserYOPositionsByTokens(address,address[])": FunctionFragment;
143
+ "getYO(address)": FunctionFragment;
144
+ "getYOInfo(address)": FunctionFragment;
145
+ "hasYOPosition((address,address,uint256,uint256,(address,uint256),(address,uint256)[]))": FunctionFragment;
31
146
  "removeLiquidityStatic(address,uint256)": FunctionFragment;
32
147
  "scyIndex(address)": FunctionFragment;
33
148
  "swapOtForScyStatic(address,uint256)": FunctionFragment;
@@ -38,6 +153,10 @@ export interface IPRouterStaticInterface extends utils.Interface {
38
153
  functionFragment: "addLiquidityStatic",
39
154
  values: [string, BigNumberish, BigNumberish]
40
155
  ): string;
156
+ encodeFunctionData(
157
+ functionFragment: "getMarketInfo",
158
+ values: [string]
159
+ ): string;
41
160
  encodeFunctionData(
42
161
  functionFragment: "getOtImpliedYield",
43
162
  values: [string]
@@ -46,6 +165,32 @@ export interface IPRouterStaticInterface extends utils.Interface {
46
165
  functionFragment: "getPendleTokenType",
47
166
  values: [string]
48
167
  ): string;
168
+ encodeFunctionData(
169
+ functionFragment: "getUserMarketInfo",
170
+ values: [string, string]
171
+ ): string;
172
+ encodeFunctionData(
173
+ functionFragment: "getUserMarketPositions",
174
+ values: [string, string[]]
175
+ ): string;
176
+ encodeFunctionData(
177
+ functionFragment: "getUserSCYInfo",
178
+ values: [string, string]
179
+ ): string;
180
+ encodeFunctionData(
181
+ functionFragment: "getUserYOInfo",
182
+ values: [string, string]
183
+ ): string;
184
+ encodeFunctionData(
185
+ functionFragment: "getUserYOPositionsByTokens",
186
+ values: [string, string[]]
187
+ ): string;
188
+ encodeFunctionData(functionFragment: "getYO", values: [string]): string;
189
+ encodeFunctionData(functionFragment: "getYOInfo", values: [string]): string;
190
+ encodeFunctionData(
191
+ functionFragment: "hasYOPosition",
192
+ values: [IPRouterStatic.UserYOInfoStruct]
193
+ ): string;
49
194
  encodeFunctionData(
50
195
  functionFragment: "removeLiquidityStatic",
51
196
  values: [string, BigNumberish]
@@ -64,6 +209,10 @@ export interface IPRouterStaticInterface extends utils.Interface {
64
209
  functionFragment: "addLiquidityStatic",
65
210
  data: BytesLike
66
211
  ): Result;
212
+ decodeFunctionResult(
213
+ functionFragment: "getMarketInfo",
214
+ data: BytesLike
215
+ ): Result;
67
216
  decodeFunctionResult(
68
217
  functionFragment: "getOtImpliedYield",
69
218
  data: BytesLike
@@ -72,6 +221,32 @@ export interface IPRouterStaticInterface extends utils.Interface {
72
221
  functionFragment: "getPendleTokenType",
73
222
  data: BytesLike
74
223
  ): Result;
224
+ decodeFunctionResult(
225
+ functionFragment: "getUserMarketInfo",
226
+ data: BytesLike
227
+ ): Result;
228
+ decodeFunctionResult(
229
+ functionFragment: "getUserMarketPositions",
230
+ data: BytesLike
231
+ ): Result;
232
+ decodeFunctionResult(
233
+ functionFragment: "getUserSCYInfo",
234
+ data: BytesLike
235
+ ): Result;
236
+ decodeFunctionResult(
237
+ functionFragment: "getUserYOInfo",
238
+ data: BytesLike
239
+ ): Result;
240
+ decodeFunctionResult(
241
+ functionFragment: "getUserYOPositionsByTokens",
242
+ data: BytesLike
243
+ ): Result;
244
+ decodeFunctionResult(functionFragment: "getYO", data: BytesLike): Result;
245
+ decodeFunctionResult(functionFragment: "getYOInfo", data: BytesLike): Result;
246
+ decodeFunctionResult(
247
+ functionFragment: "hasYOPosition",
248
+ data: BytesLike
249
+ ): Result;
75
250
  decodeFunctionResult(
76
251
  functionFragment: "removeLiquidityStatic",
77
252
  data: BytesLike
@@ -124,6 +299,19 @@ export interface IPRouterStatic extends BaseContract {
124
299
  overrides?: Overrides & { from?: string | Promise<string> }
125
300
  ): Promise<ContractTransaction>;
126
301
 
302
+ getMarketInfo(
303
+ market: string,
304
+ overrides?: CallOverrides
305
+ ): Promise<
306
+ [string, string, MarketStateStructOutput, BigNumber, BigNumber] & {
307
+ ot: string;
308
+ scy: string;
309
+ state: MarketStateStructOutput;
310
+ impliedYield: BigNumber;
311
+ exchangeRate: BigNumber;
312
+ }
313
+ >;
314
+
127
315
  getOtImpliedYield(
128
316
  market: string,
129
317
  overrides?: CallOverrides
@@ -140,6 +328,72 @@ export interface IPRouterStatic extends BaseContract {
140
328
  }
141
329
  >;
142
330
 
331
+ getUserMarketInfo(
332
+ market: string,
333
+ user: string,
334
+ overrides?: CallOverrides
335
+ ): Promise<
336
+ [IPRouterStatic.UserMarketInfoStructOutput] & {
337
+ userMarketInfo: IPRouterStatic.UserMarketInfoStructOutput;
338
+ }
339
+ >;
340
+
341
+ getUserMarketPositions(
342
+ user: string,
343
+ markets: string[],
344
+ overrides?: CallOverrides
345
+ ): Promise<
346
+ [IPRouterStatic.UserMarketInfoStructOutput[]] & {
347
+ userMarketPositions: IPRouterStatic.UserMarketInfoStructOutput[];
348
+ }
349
+ >;
350
+
351
+ getUserSCYInfo(
352
+ scy: string,
353
+ user: string,
354
+ overrides?: CallOverrides
355
+ ): Promise<
356
+ [BigNumber, IPRouterStatic.TokenAmountStructOutput[]] & {
357
+ balance: BigNumber;
358
+ rewards: IPRouterStatic.TokenAmountStructOutput[];
359
+ }
360
+ >;
361
+
362
+ getUserYOInfo(
363
+ token: string,
364
+ user: string,
365
+ overrides?: CallOverrides
366
+ ): Promise<
367
+ [IPRouterStatic.UserYOInfoStructOutput] & {
368
+ userYOInfo: IPRouterStatic.UserYOInfoStructOutput;
369
+ }
370
+ >;
371
+
372
+ getUserYOPositionsByTokens(
373
+ user: string,
374
+ tokens: string[],
375
+ overrides?: CallOverrides
376
+ ): Promise<
377
+ [IPRouterStatic.UserYOInfoStructOutput[]] & {
378
+ userYOPositions: IPRouterStatic.UserYOInfoStructOutput[];
379
+ }
380
+ >;
381
+
382
+ getYO(
383
+ token: string,
384
+ overrides?: CallOverrides
385
+ ): Promise<[string, string] & { yt: string; ot: string }>;
386
+
387
+ getYOInfo(
388
+ token: string,
389
+ overrides?: Overrides & { from?: string | Promise<string> }
390
+ ): Promise<ContractTransaction>;
391
+
392
+ hasYOPosition(
393
+ userYOInfo: IPRouterStatic.UserYOInfoStruct,
394
+ overrides?: CallOverrides
395
+ ): Promise<[boolean] & { hasPosition: boolean }>;
396
+
143
397
  removeLiquidityStatic(
144
398
  market: string,
145
399
  lpToRemove: BigNumberish,
@@ -173,6 +427,19 @@ export interface IPRouterStatic extends BaseContract {
173
427
  overrides?: Overrides & { from?: string | Promise<string> }
174
428
  ): Promise<ContractTransaction>;
175
429
 
430
+ getMarketInfo(
431
+ market: string,
432
+ overrides?: CallOverrides
433
+ ): Promise<
434
+ [string, string, MarketStateStructOutput, BigNumber, BigNumber] & {
435
+ ot: string;
436
+ scy: string;
437
+ state: MarketStateStructOutput;
438
+ impliedYield: BigNumber;
439
+ exchangeRate: BigNumber;
440
+ }
441
+ >;
442
+
176
443
  getOtImpliedYield(
177
444
  market: string,
178
445
  overrides?: CallOverrides
@@ -189,6 +456,56 @@ export interface IPRouterStatic extends BaseContract {
189
456
  }
190
457
  >;
191
458
 
459
+ getUserMarketInfo(
460
+ market: string,
461
+ user: string,
462
+ overrides?: CallOverrides
463
+ ): Promise<IPRouterStatic.UserMarketInfoStructOutput>;
464
+
465
+ getUserMarketPositions(
466
+ user: string,
467
+ markets: string[],
468
+ overrides?: CallOverrides
469
+ ): Promise<IPRouterStatic.UserMarketInfoStructOutput[]>;
470
+
471
+ getUserSCYInfo(
472
+ scy: string,
473
+ user: string,
474
+ overrides?: CallOverrides
475
+ ): Promise<
476
+ [BigNumber, IPRouterStatic.TokenAmountStructOutput[]] & {
477
+ balance: BigNumber;
478
+ rewards: IPRouterStatic.TokenAmountStructOutput[];
479
+ }
480
+ >;
481
+
482
+ getUserYOInfo(
483
+ token: string,
484
+ user: string,
485
+ overrides?: CallOverrides
486
+ ): Promise<IPRouterStatic.UserYOInfoStructOutput>;
487
+
488
+ getUserYOPositionsByTokens(
489
+ user: string,
490
+ tokens: string[],
491
+ overrides?: CallOverrides
492
+ ): Promise<IPRouterStatic.UserYOInfoStructOutput[]>;
493
+
494
+ getYO(
495
+ token: string,
496
+ overrides?: CallOverrides
497
+ ): Promise<[string, string] & { yt: string; ot: string }>;
498
+
499
+ getYOInfo(
500
+ token: string,
501
+ overrides?: Overrides & { from?: string | Promise<string> }
502
+ ): Promise<ContractTransaction>;
503
+
504
+ hasYOPosition(
505
+ userYOInfo: IPRouterStatic.UserYOInfoStruct,
506
+ overrides?: CallOverrides
507
+ ): Promise<boolean>;
508
+
192
509
  removeLiquidityStatic(
193
510
  market: string,
194
511
  lpToRemove: BigNumberish,
@@ -228,6 +545,19 @@ export interface IPRouterStatic extends BaseContract {
228
545
  }
229
546
  >;
230
547
 
548
+ getMarketInfo(
549
+ market: string,
550
+ overrides?: CallOverrides
551
+ ): Promise<
552
+ [string, string, MarketStateStructOutput, BigNumber, BigNumber] & {
553
+ ot: string;
554
+ scy: string;
555
+ state: MarketStateStructOutput;
556
+ impliedYield: BigNumber;
557
+ exchangeRate: BigNumber;
558
+ }
559
+ >;
560
+
231
561
  getOtImpliedYield(
232
562
  market: string,
233
563
  overrides?: CallOverrides
@@ -244,6 +574,62 @@ export interface IPRouterStatic extends BaseContract {
244
574
  }
245
575
  >;
246
576
 
577
+ getUserMarketInfo(
578
+ market: string,
579
+ user: string,
580
+ overrides?: CallOverrides
581
+ ): Promise<IPRouterStatic.UserMarketInfoStructOutput>;
582
+
583
+ getUserMarketPositions(
584
+ user: string,
585
+ markets: string[],
586
+ overrides?: CallOverrides
587
+ ): Promise<IPRouterStatic.UserMarketInfoStructOutput[]>;
588
+
589
+ getUserSCYInfo(
590
+ scy: string,
591
+ user: string,
592
+ overrides?: CallOverrides
593
+ ): Promise<
594
+ [BigNumber, IPRouterStatic.TokenAmountStructOutput[]] & {
595
+ balance: BigNumber;
596
+ rewards: IPRouterStatic.TokenAmountStructOutput[];
597
+ }
598
+ >;
599
+
600
+ getUserYOInfo(
601
+ token: string,
602
+ user: string,
603
+ overrides?: CallOverrides
604
+ ): Promise<IPRouterStatic.UserYOInfoStructOutput>;
605
+
606
+ getUserYOPositionsByTokens(
607
+ user: string,
608
+ tokens: string[],
609
+ overrides?: CallOverrides
610
+ ): Promise<IPRouterStatic.UserYOInfoStructOutput[]>;
611
+
612
+ getYO(
613
+ token: string,
614
+ overrides?: CallOverrides
615
+ ): Promise<[string, string] & { yt: string; ot: string }>;
616
+
617
+ getYOInfo(
618
+ token: string,
619
+ overrides?: CallOverrides
620
+ ): Promise<
621
+ [BigNumber, BigNumber, IPRouterStatic.RewardIndexStructOutput[]] & {
622
+ exchangeRate: BigNumber;
623
+ totalSupply: BigNumber;
624
+ rewardIndexes: IPRouterStatic.RewardIndexStructOutput[];
625
+ }
626
+ >;
627
+
628
+ hasYOPosition(
629
+ userYOInfo: IPRouterStatic.UserYOInfoStruct,
630
+ overrides?: CallOverrides
631
+ ): Promise<boolean>;
632
+
247
633
  removeLiquidityStatic(
248
634
  market: string,
249
635
  lpToRemove: BigNumberish,
@@ -281,6 +667,11 @@ export interface IPRouterStatic extends BaseContract {
281
667
  overrides?: Overrides & { from?: string | Promise<string> }
282
668
  ): Promise<BigNumber>;
283
669
 
670
+ getMarketInfo(
671
+ market: string,
672
+ overrides?: CallOverrides
673
+ ): Promise<BigNumber>;
674
+
284
675
  getOtImpliedYield(
285
676
  market: string,
286
677
  overrides?: CallOverrides
@@ -291,6 +682,48 @@ export interface IPRouterStatic extends BaseContract {
291
682
  overrides?: CallOverrides
292
683
  ): Promise<BigNumber>;
293
684
 
685
+ getUserMarketInfo(
686
+ market: string,
687
+ user: string,
688
+ overrides?: CallOverrides
689
+ ): Promise<BigNumber>;
690
+
691
+ getUserMarketPositions(
692
+ user: string,
693
+ markets: string[],
694
+ overrides?: CallOverrides
695
+ ): Promise<BigNumber>;
696
+
697
+ getUserSCYInfo(
698
+ scy: string,
699
+ user: string,
700
+ overrides?: CallOverrides
701
+ ): Promise<BigNumber>;
702
+
703
+ getUserYOInfo(
704
+ token: string,
705
+ user: string,
706
+ overrides?: CallOverrides
707
+ ): Promise<BigNumber>;
708
+
709
+ getUserYOPositionsByTokens(
710
+ user: string,
711
+ tokens: string[],
712
+ overrides?: CallOverrides
713
+ ): Promise<BigNumber>;
714
+
715
+ getYO(token: string, overrides?: CallOverrides): Promise<BigNumber>;
716
+
717
+ getYOInfo(
718
+ token: string,
719
+ overrides?: Overrides & { from?: string | Promise<string> }
720
+ ): Promise<BigNumber>;
721
+
722
+ hasYOPosition(
723
+ userYOInfo: IPRouterStatic.UserYOInfoStruct,
724
+ overrides?: CallOverrides
725
+ ): Promise<BigNumber>;
726
+
294
727
  removeLiquidityStatic(
295
728
  market: string,
296
729
  lpToRemove: BigNumberish,
@@ -323,6 +756,11 @@ export interface IPRouterStatic extends BaseContract {
323
756
  overrides?: Overrides & { from?: string | Promise<string> }
324
757
  ): Promise<PopulatedTransaction>;
325
758
 
759
+ getMarketInfo(
760
+ market: string,
761
+ overrides?: CallOverrides
762
+ ): Promise<PopulatedTransaction>;
763
+
326
764
  getOtImpliedYield(
327
765
  market: string,
328
766
  overrides?: CallOverrides
@@ -333,6 +771,51 @@ export interface IPRouterStatic extends BaseContract {
333
771
  overrides?: CallOverrides
334
772
  ): Promise<PopulatedTransaction>;
335
773
 
774
+ getUserMarketInfo(
775
+ market: string,
776
+ user: string,
777
+ overrides?: CallOverrides
778
+ ): Promise<PopulatedTransaction>;
779
+
780
+ getUserMarketPositions(
781
+ user: string,
782
+ markets: string[],
783
+ overrides?: CallOverrides
784
+ ): Promise<PopulatedTransaction>;
785
+
786
+ getUserSCYInfo(
787
+ scy: string,
788
+ user: string,
789
+ overrides?: CallOverrides
790
+ ): Promise<PopulatedTransaction>;
791
+
792
+ getUserYOInfo(
793
+ token: string,
794
+ user: string,
795
+ overrides?: CallOverrides
796
+ ): Promise<PopulatedTransaction>;
797
+
798
+ getUserYOPositionsByTokens(
799
+ user: string,
800
+ tokens: string[],
801
+ overrides?: CallOverrides
802
+ ): Promise<PopulatedTransaction>;
803
+
804
+ getYO(
805
+ token: string,
806
+ overrides?: CallOverrides
807
+ ): Promise<PopulatedTransaction>;
808
+
809
+ getYOInfo(
810
+ token: string,
811
+ overrides?: Overrides & { from?: string | Promise<string> }
812
+ ): Promise<PopulatedTransaction>;
813
+
814
+ hasYOPosition(
815
+ userYOInfo: IPRouterStatic.UserYOInfoStruct,
816
+ overrides?: CallOverrides
817
+ ): Promise<PopulatedTransaction>;
818
+
336
819
  removeLiquidityStatic(
337
820
  market: string,
338
821
  lpToRemove: BigNumberish,