@pendle/core-v2 0.5.1-beta-2 → 0.5.1-beta-4

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.
@@ -49,6 +49,107 @@ const _abi = [
49
49
  stateMutability: "nonpayable",
50
50
  type: "function",
51
51
  },
52
+ {
53
+ inputs: [
54
+ {
55
+ internalType: "address",
56
+ name: "market",
57
+ type: "address",
58
+ },
59
+ ],
60
+ name: "getMarketInfo",
61
+ outputs: [
62
+ {
63
+ internalType: "address",
64
+ name: "ot",
65
+ type: "address",
66
+ },
67
+ {
68
+ internalType: "address",
69
+ name: "scy",
70
+ type: "address",
71
+ },
72
+ {
73
+ components: [
74
+ {
75
+ internalType: "int256",
76
+ name: "totalOt",
77
+ type: "int256",
78
+ },
79
+ {
80
+ internalType: "int256",
81
+ name: "totalScy",
82
+ type: "int256",
83
+ },
84
+ {
85
+ internalType: "int256",
86
+ name: "totalLp",
87
+ type: "int256",
88
+ },
89
+ {
90
+ internalType: "uint256",
91
+ name: "oracleRate",
92
+ type: "uint256",
93
+ },
94
+ {
95
+ internalType: "address",
96
+ name: "treasury",
97
+ type: "address",
98
+ },
99
+ {
100
+ internalType: "int256",
101
+ name: "scalarRoot",
102
+ type: "int256",
103
+ },
104
+ {
105
+ internalType: "uint256",
106
+ name: "feeRateRoot",
107
+ type: "uint256",
108
+ },
109
+ {
110
+ internalType: "uint256",
111
+ name: "rateOracleTimeWindow",
112
+ type: "uint256",
113
+ },
114
+ {
115
+ internalType: "uint256",
116
+ name: "expiry",
117
+ type: "uint256",
118
+ },
119
+ {
120
+ internalType: "uint256",
121
+ name: "reserveFeePercent",
122
+ type: "uint256",
123
+ },
124
+ {
125
+ internalType: "uint256",
126
+ name: "lastImpliedRate",
127
+ type: "uint256",
128
+ },
129
+ {
130
+ internalType: "uint256",
131
+ name: "lastTradeTime",
132
+ type: "uint256",
133
+ },
134
+ ],
135
+ internalType: "struct MarketState",
136
+ name: "state",
137
+ type: "tuple",
138
+ },
139
+ {
140
+ internalType: "int256",
141
+ name: "impliedYield",
142
+ type: "int256",
143
+ },
144
+ {
145
+ internalType: "uint256",
146
+ name: "exchangeRate",
147
+ type: "uint256",
148
+ },
149
+ ],
150
+ stateMutability: "view",
151
+ type: "function",
152
+ },
52
153
  {
53
154
  inputs: [
54
155
  {
@@ -97,6 +198,521 @@ const _abi = [
97
198
  stateMutability: "view",
98
199
  type: "function",
99
200
  },
201
+ {
202
+ inputs: [
203
+ {
204
+ internalType: "address",
205
+ name: "market",
206
+ type: "address",
207
+ },
208
+ {
209
+ internalType: "address",
210
+ name: "user",
211
+ type: "address",
212
+ },
213
+ ],
214
+ name: "getUserMarketInfo",
215
+ outputs: [
216
+ {
217
+ components: [
218
+ {
219
+ internalType: "address",
220
+ name: "market",
221
+ type: "address",
222
+ },
223
+ {
224
+ internalType: "uint256",
225
+ name: "lpBalance",
226
+ type: "uint256",
227
+ },
228
+ {
229
+ components: [
230
+ {
231
+ internalType: "address",
232
+ name: "token",
233
+ type: "address",
234
+ },
235
+ {
236
+ internalType: "uint256",
237
+ name: "amount",
238
+ type: "uint256",
239
+ },
240
+ ],
241
+ internalType: "struct IPRouterStatic.TokenAmount",
242
+ name: "otBalance",
243
+ type: "tuple",
244
+ },
245
+ {
246
+ components: [
247
+ {
248
+ internalType: "address",
249
+ name: "token",
250
+ type: "address",
251
+ },
252
+ {
253
+ internalType: "uint256",
254
+ name: "amount",
255
+ type: "uint256",
256
+ },
257
+ ],
258
+ internalType: "struct IPRouterStatic.TokenAmount",
259
+ name: "scyBalance",
260
+ type: "tuple",
261
+ },
262
+ {
263
+ components: [
264
+ {
265
+ internalType: "address",
266
+ name: "token",
267
+ type: "address",
268
+ },
269
+ {
270
+ internalType: "uint256",
271
+ name: "amount",
272
+ type: "uint256",
273
+ },
274
+ ],
275
+ internalType: "struct IPRouterStatic.TokenAmount",
276
+ name: "assetBalance",
277
+ type: "tuple",
278
+ },
279
+ ],
280
+ internalType: "struct IPRouterStatic.UserMarketInfo",
281
+ name: "userMarketInfo",
282
+ type: "tuple",
283
+ },
284
+ ],
285
+ stateMutability: "view",
286
+ type: "function",
287
+ },
288
+ {
289
+ inputs: [
290
+ {
291
+ internalType: "address",
292
+ name: "user",
293
+ type: "address",
294
+ },
295
+ {
296
+ internalType: "address[]",
297
+ name: "markets",
298
+ type: "address[]",
299
+ },
300
+ ],
301
+ name: "getUserMarketPositions",
302
+ outputs: [
303
+ {
304
+ components: [
305
+ {
306
+ internalType: "address",
307
+ name: "market",
308
+ type: "address",
309
+ },
310
+ {
311
+ internalType: "uint256",
312
+ name: "lpBalance",
313
+ type: "uint256",
314
+ },
315
+ {
316
+ components: [
317
+ {
318
+ internalType: "address",
319
+ name: "token",
320
+ type: "address",
321
+ },
322
+ {
323
+ internalType: "uint256",
324
+ name: "amount",
325
+ type: "uint256",
326
+ },
327
+ ],
328
+ internalType: "struct IPRouterStatic.TokenAmount",
329
+ name: "otBalance",
330
+ type: "tuple",
331
+ },
332
+ {
333
+ components: [
334
+ {
335
+ internalType: "address",
336
+ name: "token",
337
+ type: "address",
338
+ },
339
+ {
340
+ internalType: "uint256",
341
+ name: "amount",
342
+ type: "uint256",
343
+ },
344
+ ],
345
+ internalType: "struct IPRouterStatic.TokenAmount",
346
+ name: "scyBalance",
347
+ type: "tuple",
348
+ },
349
+ {
350
+ components: [
351
+ {
352
+ internalType: "address",
353
+ name: "token",
354
+ type: "address",
355
+ },
356
+ {
357
+ internalType: "uint256",
358
+ name: "amount",
359
+ type: "uint256",
360
+ },
361
+ ],
362
+ internalType: "struct IPRouterStatic.TokenAmount",
363
+ name: "assetBalance",
364
+ type: "tuple",
365
+ },
366
+ ],
367
+ internalType: "struct IPRouterStatic.UserMarketInfo[]",
368
+ name: "userMarketPositions",
369
+ type: "tuple[]",
370
+ },
371
+ ],
372
+ stateMutability: "view",
373
+ type: "function",
374
+ },
375
+ {
376
+ inputs: [
377
+ {
378
+ internalType: "address",
379
+ name: "scy",
380
+ type: "address",
381
+ },
382
+ {
383
+ internalType: "address",
384
+ name: "user",
385
+ type: "address",
386
+ },
387
+ ],
388
+ name: "getUserSCYInfo",
389
+ outputs: [
390
+ {
391
+ internalType: "uint256",
392
+ name: "balance",
393
+ type: "uint256",
394
+ },
395
+ {
396
+ components: [
397
+ {
398
+ internalType: "address",
399
+ name: "token",
400
+ type: "address",
401
+ },
402
+ {
403
+ internalType: "uint256",
404
+ name: "amount",
405
+ type: "uint256",
406
+ },
407
+ ],
408
+ internalType: "struct IPRouterStatic.TokenAmount[]",
409
+ name: "rewards",
410
+ type: "tuple[]",
411
+ },
412
+ ],
413
+ stateMutability: "view",
414
+ type: "function",
415
+ },
416
+ {
417
+ inputs: [
418
+ {
419
+ internalType: "address",
420
+ name: "yo",
421
+ type: "address",
422
+ },
423
+ {
424
+ internalType: "address",
425
+ name: "user",
426
+ type: "address",
427
+ },
428
+ ],
429
+ name: "getUserYOInfo",
430
+ outputs: [
431
+ {
432
+ components: [
433
+ {
434
+ internalType: "address",
435
+ name: "yt",
436
+ type: "address",
437
+ },
438
+ {
439
+ internalType: "address",
440
+ name: "ot",
441
+ type: "address",
442
+ },
443
+ {
444
+ internalType: "uint256",
445
+ name: "ytBalance",
446
+ type: "uint256",
447
+ },
448
+ {
449
+ internalType: "uint256",
450
+ name: "otBalance",
451
+ type: "uint256",
452
+ },
453
+ {
454
+ components: [
455
+ {
456
+ internalType: "address",
457
+ name: "token",
458
+ type: "address",
459
+ },
460
+ {
461
+ internalType: "uint256",
462
+ name: "amount",
463
+ type: "uint256",
464
+ },
465
+ ],
466
+ internalType: "struct IPRouterStatic.TokenAmount",
467
+ name: "unclaimedInterest",
468
+ type: "tuple",
469
+ },
470
+ {
471
+ components: [
472
+ {
473
+ internalType: "address",
474
+ name: "token",
475
+ type: "address",
476
+ },
477
+ {
478
+ internalType: "uint256",
479
+ name: "amount",
480
+ type: "uint256",
481
+ },
482
+ ],
483
+ internalType: "struct IPRouterStatic.TokenAmount[]",
484
+ name: "unclaimedRewards",
485
+ type: "tuple[]",
486
+ },
487
+ ],
488
+ internalType: "struct IPRouterStatic.UserYOInfo",
489
+ name: "userYOInfo",
490
+ type: "tuple",
491
+ },
492
+ ],
493
+ stateMutability: "view",
494
+ type: "function",
495
+ },
496
+ {
497
+ inputs: [
498
+ {
499
+ internalType: "address",
500
+ name: "user",
501
+ type: "address",
502
+ },
503
+ {
504
+ internalType: "address[]",
505
+ name: "yos",
506
+ type: "address[]",
507
+ },
508
+ ],
509
+ name: "getUserYOPositionsByYOs",
510
+ outputs: [
511
+ {
512
+ components: [
513
+ {
514
+ internalType: "address",
515
+ name: "yt",
516
+ type: "address",
517
+ },
518
+ {
519
+ internalType: "address",
520
+ name: "ot",
521
+ type: "address",
522
+ },
523
+ {
524
+ internalType: "uint256",
525
+ name: "ytBalance",
526
+ type: "uint256",
527
+ },
528
+ {
529
+ internalType: "uint256",
530
+ name: "otBalance",
531
+ type: "uint256",
532
+ },
533
+ {
534
+ components: [
535
+ {
536
+ internalType: "address",
537
+ name: "token",
538
+ type: "address",
539
+ },
540
+ {
541
+ internalType: "uint256",
542
+ name: "amount",
543
+ type: "uint256",
544
+ },
545
+ ],
546
+ internalType: "struct IPRouterStatic.TokenAmount",
547
+ name: "unclaimedInterest",
548
+ type: "tuple",
549
+ },
550
+ {
551
+ components: [
552
+ {
553
+ internalType: "address",
554
+ name: "token",
555
+ type: "address",
556
+ },
557
+ {
558
+ internalType: "uint256",
559
+ name: "amount",
560
+ type: "uint256",
561
+ },
562
+ ],
563
+ internalType: "struct IPRouterStatic.TokenAmount[]",
564
+ name: "unclaimedRewards",
565
+ type: "tuple[]",
566
+ },
567
+ ],
568
+ internalType: "struct IPRouterStatic.UserYOInfo[]",
569
+ name: "userYOPositions",
570
+ type: "tuple[]",
571
+ },
572
+ ],
573
+ stateMutability: "view",
574
+ type: "function",
575
+ },
576
+ {
577
+ inputs: [
578
+ {
579
+ internalType: "address",
580
+ name: "yo",
581
+ type: "address",
582
+ },
583
+ ],
584
+ name: "getYO",
585
+ outputs: [
586
+ {
587
+ internalType: "address",
588
+ name: "yt",
589
+ type: "address",
590
+ },
591
+ {
592
+ internalType: "address",
593
+ name: "ot",
594
+ type: "address",
595
+ },
596
+ ],
597
+ stateMutability: "view",
598
+ type: "function",
599
+ },
600
+ {
601
+ inputs: [
602
+ {
603
+ internalType: "address",
604
+ name: "yo",
605
+ type: "address",
606
+ },
607
+ ],
608
+ name: "getYOInfo",
609
+ outputs: [
610
+ {
611
+ internalType: "uint256",
612
+ name: "exchangeRate",
613
+ type: "uint256",
614
+ },
615
+ {
616
+ internalType: "uint256",
617
+ name: "totalSupply",
618
+ type: "uint256",
619
+ },
620
+ {
621
+ components: [
622
+ {
623
+ internalType: "address",
624
+ name: "rewardToken",
625
+ type: "address",
626
+ },
627
+ {
628
+ internalType: "uint256",
629
+ name: "index",
630
+ type: "uint256",
631
+ },
632
+ ],
633
+ internalType: "struct IPRouterStatic.RewardIndex[]",
634
+ name: "rewardIndexes",
635
+ type: "tuple[]",
636
+ },
637
+ ],
638
+ stateMutability: "nonpayable",
639
+ type: "function",
640
+ },
641
+ {
642
+ inputs: [
643
+ {
644
+ components: [
645
+ {
646
+ internalType: "address",
647
+ name: "yt",
648
+ type: "address",
649
+ },
650
+ {
651
+ internalType: "address",
652
+ name: "ot",
653
+ type: "address",
654
+ },
655
+ {
656
+ internalType: "uint256",
657
+ name: "ytBalance",
658
+ type: "uint256",
659
+ },
660
+ {
661
+ internalType: "uint256",
662
+ name: "otBalance",
663
+ type: "uint256",
664
+ },
665
+ {
666
+ components: [
667
+ {
668
+ internalType: "address",
669
+ name: "token",
670
+ type: "address",
671
+ },
672
+ {
673
+ internalType: "uint256",
674
+ name: "amount",
675
+ type: "uint256",
676
+ },
677
+ ],
678
+ internalType: "struct IPRouterStatic.TokenAmount",
679
+ name: "unclaimedInterest",
680
+ type: "tuple",
681
+ },
682
+ {
683
+ components: [
684
+ {
685
+ internalType: "address",
686
+ name: "token",
687
+ type: "address",
688
+ },
689
+ {
690
+ internalType: "uint256",
691
+ name: "amount",
692
+ type: "uint256",
693
+ },
694
+ ],
695
+ internalType: "struct IPRouterStatic.TokenAmount[]",
696
+ name: "unclaimedRewards",
697
+ type: "tuple[]",
698
+ },
699
+ ],
700
+ internalType: "struct IPRouterStatic.UserYOInfo",
701
+ name: "userYOInfo",
702
+ type: "tuple",
703
+ },
704
+ ],
705
+ name: "hasYOPosition",
706
+ outputs: [
707
+ {
708
+ internalType: "bool",
709
+ name: "hasPosition",
710
+ type: "bool",
711
+ },
712
+ ],
713
+ stateMutability: "pure",
714
+ type: "function",
715
+ },
100
716
  {
101
717
  inputs: [
102
718
  {
@@ -210,7 +210,7 @@ const _abi = [
210
210
  ];
211
211
 
212
212
  const _bytecode =
213
- "0x610120604052306080523480156200001657600080fd5b50604051620012c8380380620012c88339810160408190526200003991620001c2565b806001600160a01b038116620000855760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064015b60405180910390fd5b6001600160a01b031660a052600054610100900460ff16620000ae5760005460ff1615620000b8565b620000b862000178565b6200011d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200007c565b600054610100900460ff1615801562000140576000805461ffff19166101011790555b6001600160a01b0380861660c05284811660e05283166101005280156200016d576000805461ff00191690555b50505050506200021f565b600062000190306200019660201b620007ac1760201c565b15905090565b6001600160a01b03163b151590565b80516001600160a01b0381168114620001bd57600080fd5b919050565b60008060008060808587031215620001d957600080fd5b620001e485620001a5565b9350620001f460208601620001a5565b92506200020460408601620001a5565b91506200021460608601620001a5565b905092959194509250565b60805160a05160c05160e0516101005161102d6200029b600039600081816101b3015261068701526000818160a3015261064701526000818161017f015261059b0152600081816101e70152610a700152600081816102260152818161026f015281816102f80152818161033801526103b4015261102d6000f3fe60806040526004361061007a5760003560e01c806320e21c00146100915780633659cfe6146100e25780634f1ef2861461010257806352d1902d1461011557806376e1df48146101385780638129fc1c146101585780638d94cf0f1461016d578063a25228c9146101a1578063d2e6d1c3146101d557610089565b3661008957610087610209565b005b610087610209565b34801561009d57600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ee57600080fd5b506100876100fd366004610d4b565b61021b565b610087610110366004610d7e565b6102ed565b34801561012157600080fd5b5061012a6103a7565b6040519081526020016100d9565b34801561014457600080fd5b506100c5610153366004610e41565b610455565b34801561016457600080fd5b506100876106e8565b34801561017957600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156101ad57600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156101e157600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b6102196102146107bb565b6107d7565b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561026d5760405162461bcd60e51b815260040161026490610e6b565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661029f610800565b6001600160a01b0316146102c55760405162461bcd60e51b815260040161026490610ea5565b6102ce8161081c565b604080516000808252602082019092526102ea91839190610876565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103365760405162461bcd60e51b815260040161026490610e6b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610368610800565b6001600160a01b03161461038e5760405162461bcd60e51b815260040161026490610ea5565b6103978261081c565b6103a382826001610876565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104425760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610264565b50600080516020610fb183398151915290565b60006001600160e01b0319821663ab308f7960e01b148061048657506001600160e01b031982166361d67b9f60e01b145b806104a157506001600160e01b03198216630f15f71560e11b145b806104bb57506001600160e01b03198216623905e760e01b145b806104d657506001600160e01b031982166348e4c51560e11b145b806104f157506001600160e01b031982166338b7217760e21b145b8061050c57506001600160e01b03198216631aa18c8560e11b145b8061052757506001600160e01b03198216631d4b2e4560e31b145b8061054257506001600160e01b03198216637a6d749b60e01b145b8061055d57506001600160e01b03198216637fbd7fc760e01b145b8061057857506001600160e01b03198216633df3d5f160e11b145b8061059357506001600160e01b0319821663f6fb26e360e01b145b156105bf57507f0000000000000000000000000000000000000000000000000000000000000000919050565b6001600160e01b03198216636c66135560e11b14806105ee57506001600160e01b031982166321aab85960e01b145b8061060957506001600160e01b03198216630109d6b960e21b145b8061062457506001600160e01b03198216635d18993360e11b145b8061063f57506001600160e01b0319821663066657e160e31b145b1561066b57507f0000000000000000000000000000000000000000000000000000000000000000919050565b6001600160e01b03198216637d241f3960e11b14156106ab57507f0000000000000000000000000000000000000000000000000000000000000000919050565b60405162461bcd60e51b8152602060048201526012602482015271696e76616c6964206d61726b65742073696760701b6044820152606401610264565b600054610100900460ff166107035760005460ff161561070b565b61070b6109f0565b61076e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610264565b600054610100900460ff16158015610790576000805461ffff19166101011790555b610798610a01565b80156102ea576000805461ff001916905550565b6001600160a01b03163b151590565b60006107d26000356001600160e01b031916610455565b905090565b3660008037600080366000845af43d6000803e8080156107f6573d6000f35b3d6000fd5b505050565b600080516020610fb1833981519152546001600160a01b031690565b610824610a6c565b6001600160a01b0316336001600160a01b0316146102ea5760405162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b6044820152606401610264565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156108a9576107fb83610aff565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e257600080fd5b505afa925050508015610912575060408051601f3d908101601f1916820190925261090f91810190610edf565b60015b6109755760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610264565b600080516020610fb183398151915281146109e45760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610264565b506107fb838383610b99565b60006109fb306107ac565b15905090565b600054610100900460ff166102195760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610264565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac757600080fd5b505afa158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610ef8565b610b08816107ac565b610b6a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610264565b600080516020610fb183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610ba283610bc4565b600082511180610baf5750805b156107fb57610bbe8383610c04565b50505050565b610bcd81610aff565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610c0f836107ac565b610c6a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610264565b600080846001600160a01b031684604051610c859190610f41565b600060405180830381855af49150503d8060008114610cc0576040519150601f19603f3d011682016040523d82523d6000602084013e610cc5565b606091505b5091509150610ced8282604051806060016040528060278152602001610fd160279139610cf6565b95945050505050565b60608315610d05575081610d2f565b825115610d155782518084602001fd5b8160405162461bcd60e51b81526004016102649190610f5d565b9392505050565b6001600160a01b03811681146102ea57600080fd5b600060208284031215610d5d57600080fd5b8135610d2f81610d36565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610d9157600080fd5b8235610d9c81610d36565b915060208301356001600160401b0380821115610db857600080fd5b818501915085601f830112610dcc57600080fd5b813581811115610dde57610dde610d68565b604051601f8201601f19908116603f01168101908382118183101715610e0657610e06610d68565b81604052828152886020848701011115610e1f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610e5357600080fd5b81356001600160e01b031981168114610d2f57600080fd5b6020808252602c90820152600080516020610f9183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610f9183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215610ef157600080fd5b5051919050565b600060208284031215610f0a57600080fd5b8151610d2f81610d36565b60005b83811015610f30578181015183820152602001610f18565b83811115610bbe5750506000910152565b60008251610f53818460208701610f15565b9190910192915050565b6020815260008251806020840152610f7c816040850160208701610f15565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f91b8d3b5354e84ef5d509dc0c0025faf8b222981a7614d564c4b0fdfc4e876164736f6c63430008090033";
213
+ "0x610120604052306080523480156200001657600080fd5b50604051620012c8380380620012c88339810160408190526200003991620001c2565b806001600160a01b038116620000855760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064015b60405180910390fd5b6001600160a01b031660a052600054610100900460ff16620000ae5760005460ff1615620000b8565b620000b862000178565b6200011d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200007c565b600054610100900460ff1615801562000140576000805461ffff19166101011790555b6001600160a01b0380861660c05284811660e05283166101005280156200016d576000805461ff00191690555b50505050506200021f565b600062000190306200019660201b620007ac1760201c565b15905090565b6001600160a01b03163b151590565b80516001600160a01b0381168114620001bd57600080fd5b919050565b60008060008060808587031215620001d957600080fd5b620001e485620001a5565b9350620001f460208601620001a5565b92506200020460408601620001a5565b91506200021460608601620001a5565b905092959194509250565b60805160a05160c05160e0516101005161102d6200029b600039600081816101b3015261068701526000818160a3015261064701526000818161017f015261059b0152600081816101e70152610a700152600081816102260152818161026f015281816102f80152818161033801526103b4015261102d6000f3fe60806040526004361061007a5760003560e01c806320e21c00146100915780633659cfe6146100e25780634f1ef2861461010257806352d1902d1461011557806376e1df48146101385780638129fc1c146101585780638d94cf0f1461016d578063a25228c9146101a1578063d2e6d1c3146101d557610089565b3661008957610087610209565b005b610087610209565b34801561009d57600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ee57600080fd5b506100876100fd366004610d4b565b61021b565b610087610110366004610d7e565b6102ed565b34801561012157600080fd5b5061012a6103a7565b6040519081526020016100d9565b34801561014457600080fd5b506100c5610153366004610e41565b610455565b34801561016457600080fd5b506100876106e8565b34801561017957600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156101ad57600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156101e157600080fd5b506100c57f000000000000000000000000000000000000000000000000000000000000000081565b6102196102146107bb565b6107d7565b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561026d5760405162461bcd60e51b815260040161026490610e6b565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661029f610800565b6001600160a01b0316146102c55760405162461bcd60e51b815260040161026490610ea5565b6102ce8161081c565b604080516000808252602082019092526102ea91839190610876565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103365760405162461bcd60e51b815260040161026490610e6b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610368610800565b6001600160a01b03161461038e5760405162461bcd60e51b815260040161026490610ea5565b6103978261081c565b6103a382826001610876565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104425760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610264565b50600080516020610fb183398151915290565b60006001600160e01b0319821663ab308f7960e01b148061048657506001600160e01b031982166361d67b9f60e01b145b806104a157506001600160e01b03198216630f15f71560e11b145b806104bb57506001600160e01b03198216623905e760e01b145b806104d657506001600160e01b031982166348e4c51560e11b145b806104f157506001600160e01b031982166338b7217760e21b145b8061050c57506001600160e01b03198216631aa18c8560e11b145b8061052757506001600160e01b03198216631d4b2e4560e31b145b8061054257506001600160e01b03198216637a6d749b60e01b145b8061055d57506001600160e01b03198216637fbd7fc760e01b145b8061057857506001600160e01b03198216633df3d5f160e11b145b8061059357506001600160e01b0319821663f6fb26e360e01b145b156105bf57507f0000000000000000000000000000000000000000000000000000000000000000919050565b6001600160e01b03198216636c66135560e11b14806105ee57506001600160e01b031982166321aab85960e01b145b8061060957506001600160e01b03198216630109d6b960e21b145b8061062457506001600160e01b03198216635d18993360e11b145b8061063f57506001600160e01b0319821663066657e160e31b145b1561066b57507f0000000000000000000000000000000000000000000000000000000000000000919050565b6001600160e01b03198216637d241f3960e11b14156106ab57507f0000000000000000000000000000000000000000000000000000000000000000919050565b60405162461bcd60e51b8152602060048201526012602482015271696e76616c6964206d61726b65742073696760701b6044820152606401610264565b600054610100900460ff166107035760005460ff161561070b565b61070b6109f0565b61076e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610264565b600054610100900460ff16158015610790576000805461ffff19166101011790555b610798610a01565b80156102ea576000805461ff001916905550565b6001600160a01b03163b151590565b60006107d26000356001600160e01b031916610455565b905090565b3660008037600080366000845af43d6000803e8080156107f6573d6000f35b3d6000fd5b505050565b600080516020610fb1833981519152546001600160a01b031690565b610824610a6c565b6001600160a01b0316336001600160a01b0316146102ea5760405162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b6044820152606401610264565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156108a9576107fb83610aff565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e257600080fd5b505afa925050508015610912575060408051601f3d908101601f1916820190925261090f91810190610edf565b60015b6109755760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610264565b600080516020610fb183398151915281146109e45760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610264565b506107fb838383610b99565b60006109fb306107ac565b15905090565b600054610100900460ff166102195760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610264565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac757600080fd5b505afa158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610ef8565b610b08816107ac565b610b6a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610264565b600080516020610fb183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610ba283610bc4565b600082511180610baf5750805b156107fb57610bbe8383610c04565b50505050565b610bcd81610aff565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610c0f836107ac565b610c6a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610264565b600080846001600160a01b031684604051610c859190610f41565b600060405180830381855af49150503d8060008114610cc0576040519150601f19603f3d011682016040523d82523d6000602084013e610cc5565b606091505b5091509150610ced8282604051806060016040528060278152602001610fd160279139610cf6565b95945050505050565b60608315610d05575081610d2f565b825115610d155782518084602001fd5b8160405162461bcd60e51b81526004016102649190610f5d565b9392505050565b6001600160a01b03811681146102ea57600080fd5b600060208284031215610d5d57600080fd5b8135610d2f81610d36565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610d9157600080fd5b8235610d9c81610d36565b915060208301356001600160401b0380821115610db857600080fd5b818501915085601f830112610dcc57600080fd5b813581811115610dde57610dde610d68565b604051601f8201601f19908116603f01168101908382118183101715610e0657610e06610d68565b81604052828152886020848701011115610e1f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610e5357600080fd5b81356001600160e01b031981168114610d2f57600080fd5b6020808252602c90820152600080516020610f9183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610f9183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215610ef157600080fd5b5051919050565b600060208284031215610f0a57600080fd5b8151610d2f81610d36565b60005b83811015610f30578181015183820152602001610f18565b83811115610bbe5750506000910152565b60008251610f53818460208701610f15565b9190910192915050565b6020815260008251806020840152610f7c816040850160208701610f15565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220169ffbca0cb0013ca931176b231ba44f13b259708953d2ab0787964a4d57fef664736f6c63430008090033";
214
214
 
215
215
  type PendleRouterConstructorParams =
216
216
  | [signer?: Signer]