@meterio/sumer-js 0.2.170 → 0.2.172

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/browser/sumer.min.js +1 -1
  2. package/dist/nodejs/abi.d.ts +32 -0
  3. package/dist/nodejs/abi.js +46 -0
  4. package/dist/nodejs/abi.js.map +1 -1
  5. package/dist/nodejs/constants/beramain.d.ts +0 -6
  6. package/dist/nodejs/constants/beramain.js +2 -11
  7. package/dist/nodejs/constants/beramain.js.map +1 -1
  8. package/dist/nodejs/constants/goat.d.ts +3 -0
  9. package/dist/nodejs/constants/goat.js +17 -2
  10. package/dist/nodejs/constants/goat.js.map +1 -1
  11. package/dist/nodejs/constants/metertest.d.ts +1 -0
  12. package/dist/nodejs/constants/metertest.js +1 -0
  13. package/dist/nodejs/constants/metertest.js.map +1 -1
  14. package/dist/nodejs/index.d.ts +32 -0
  15. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.d.ts +1011 -0
  16. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.js +3 -0
  17. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.js.map +1 -0
  18. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.sol/CsuErc20V2.d.ts +1061 -0
  19. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.sol/CsuErc20V2.js +3 -0
  20. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.sol/CsuErc20V2.js.map +1 -0
  21. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.sol/ILiquidStabilityPool.d.ts +37 -0
  22. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.sol/ILiquidStabilityPool.js +3 -0
  23. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.sol/ILiquidStabilityPool.js.map +1 -0
  24. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.sol/index.d.ts +2 -0
  25. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.sol/index.js +3 -0
  26. package/dist/nodejs/typechain/contracts/CToken/CsuErc20V2.sol/index.js.map +1 -0
  27. package/dist/nodejs/typechain/contracts/CToken/index.d.ts +2 -2
  28. package/dist/nodejs/typechain/contracts/Oracle/index.d.ts +2 -0
  29. package/dist/nodejs/typechain/contracts/Oracle/yArtBTCAdapter.sol/IyArtBTC.d.ts +25 -0
  30. package/dist/nodejs/typechain/contracts/Oracle/yArtBTCAdapter.sol/IyArtBTC.js +3 -0
  31. package/dist/nodejs/typechain/contracts/Oracle/yArtBTCAdapter.sol/IyArtBTC.js.map +1 -0
  32. package/dist/nodejs/typechain/contracts/Oracle/yArtBTCAdapter.sol/YArtBTCAdapter.d.ts +25 -0
  33. package/dist/nodejs/typechain/contracts/Oracle/yArtBTCAdapter.sol/YArtBTCAdapter.js +3 -0
  34. package/dist/nodejs/typechain/contracts/Oracle/yArtBTCAdapter.sol/YArtBTCAdapter.js.map +1 -0
  35. package/dist/nodejs/typechain/contracts/Oracle/yArtBTCAdapter.sol/index.d.ts +2 -0
  36. package/dist/nodejs/typechain/contracts/Oracle/yArtBTCAdapter.sol/index.js +3 -0
  37. package/dist/nodejs/typechain/contracts/Oracle/yArtBTCAdapter.sol/index.js.map +1 -0
  38. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2.sol/CsuErc20V2__factory.d.ts +1801 -0
  39. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2.sol/CsuErc20V2__factory.js +2314 -0
  40. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2.sol/CsuErc20V2__factory.js.map +1 -0
  41. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2.sol/ILiquidStabilityPool__factory.d.ts +25 -0
  42. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2.sol/ILiquidStabilityPool__factory.js +43 -0
  43. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2.sol/ILiquidStabilityPool__factory.js.map +1 -0
  44. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2.sol/index.d.ts +2 -0
  45. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2.sol/index.js +11 -0
  46. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2.sol/index.js.map +1 -0
  47. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2__factory.d.ts +1735 -0
  48. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2__factory.js +2230 -0
  49. package/dist/nodejs/typechain/factories/contracts/CToken/CsuErc20V2__factory.js.map +1 -0
  50. package/dist/nodejs/typechain/factories/contracts/CToken/index.d.ts +1 -1
  51. package/dist/nodejs/typechain/factories/contracts/CToken/index.js +2 -2
  52. package/dist/nodejs/typechain/factories/contracts/CToken/index.js.map +1 -1
  53. package/dist/nodejs/typechain/factories/contracts/Oracle/index.d.ts +1 -0
  54. package/dist/nodejs/typechain/factories/contracts/Oracle/index.js +2 -1
  55. package/dist/nodejs/typechain/factories/contracts/Oracle/index.js.map +1 -1
  56. package/dist/nodejs/typechain/factories/contracts/Oracle/yArtBTCAdapter.sol/IyArtBTC__factory.d.ts +17 -0
  57. package/dist/nodejs/typechain/factories/contracts/Oracle/yArtBTCAdapter.sol/IyArtBTC__factory.js +33 -0
  58. package/dist/nodejs/typechain/factories/contracts/Oracle/yArtBTCAdapter.sol/IyArtBTC__factory.js.map +1 -0
  59. package/dist/nodejs/typechain/factories/contracts/Oracle/yArtBTCAdapter.sol/YArtBTCAdapter__factory.d.ts +44 -0
  60. package/dist/nodejs/typechain/factories/contracts/Oracle/yArtBTCAdapter.sol/YArtBTCAdapter__factory.js +69 -0
  61. package/dist/nodejs/typechain/factories/contracts/Oracle/yArtBTCAdapter.sol/YArtBTCAdapter__factory.js.map +1 -0
  62. package/dist/nodejs/typechain/factories/contracts/Oracle/yArtBTCAdapter.sol/index.d.ts +2 -0
  63. package/dist/nodejs/typechain/factories/contracts/Oracle/yArtBTCAdapter.sol/index.js +11 -0
  64. package/dist/nodejs/typechain/factories/contracts/Oracle/yArtBTCAdapter.sol/index.js.map +1 -0
  65. package/dist/nodejs/typechain/hardhat.d.ts +70 -16
  66. package/dist/nodejs/typechain/index.d.ts +8 -0
  67. package/dist/nodejs/typechain/index.js +10 -2
  68. package/dist/nodejs/typechain/index.js.map +1 -1
  69. package/package.json +1 -1
@@ -0,0 +1,2314 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CsuErc20V2__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [],
11
+ name: "AddReservesMarketNotFresh",
12
+ type: "error",
13
+ },
14
+ {
15
+ inputs: [],
16
+ name: "AddReservesOverflow",
17
+ type: "error",
18
+ },
19
+ {
20
+ inputs: [],
21
+ name: "BorrowAndDepositBackFailed",
22
+ type: "error",
23
+ },
24
+ {
25
+ inputs: [],
26
+ name: "BorrowCapReached",
27
+ type: "error",
28
+ },
29
+ {
30
+ inputs: [],
31
+ name: "BorrowCashNotAvailable",
32
+ type: "error",
33
+ },
34
+ {
35
+ inputs: [],
36
+ name: "BorrowMarketNotFresh",
37
+ type: "error",
38
+ },
39
+ {
40
+ inputs: [],
41
+ name: "BorrowPaused",
42
+ type: "error",
43
+ },
44
+ {
45
+ inputs: [
46
+ {
47
+ internalType: "uint256",
48
+ name: "usdThreshold",
49
+ type: "uint256",
50
+ },
51
+ ],
52
+ name: "BorrowValueMustBeLargerThanThreshold",
53
+ type: "error",
54
+ },
55
+ {
56
+ inputs: [],
57
+ name: "CantEnterPausedMarket",
58
+ type: "error",
59
+ },
60
+ {
61
+ inputs: [],
62
+ name: "CantExitMarketWithNonZeroBorrowBalance",
63
+ type: "error",
64
+ },
65
+ {
66
+ inputs: [],
67
+ name: "CantSweepUnderlying",
68
+ type: "error",
69
+ },
70
+ {
71
+ inputs: [],
72
+ name: "ComptrollerMismatch",
73
+ type: "error",
74
+ },
75
+ {
76
+ inputs: [],
77
+ name: "EitherAssetOrDebtMustBeZero",
78
+ type: "error",
79
+ },
80
+ {
81
+ inputs: [
82
+ {
83
+ internalType: "uint8",
84
+ name: "groupId",
85
+ type: "uint8",
86
+ },
87
+ {
88
+ internalType: "uint256",
89
+ name: "cDepositVal",
90
+ type: "uint256",
91
+ },
92
+ {
93
+ internalType: "uint256",
94
+ name: "suDepositVal",
95
+ type: "uint256",
96
+ },
97
+ {
98
+ internalType: "uint256",
99
+ name: "cBorrowVal",
100
+ type: "uint256",
101
+ },
102
+ {
103
+ internalType: "uint256",
104
+ name: "suBorrowVal",
105
+ type: "uint256",
106
+ },
107
+ ],
108
+ name: "EitherAssetOrDebtMustBeZeroInGroup",
109
+ type: "error",
110
+ },
111
+ {
112
+ inputs: [],
113
+ name: "ExpiredSignature",
114
+ type: "error",
115
+ },
116
+ {
117
+ inputs: [],
118
+ name: "InsufficientCollateral",
119
+ type: "error",
120
+ },
121
+ {
122
+ inputs: [],
123
+ name: "InsufficientShortfall",
124
+ type: "error",
125
+ },
126
+ {
127
+ inputs: [],
128
+ name: "InterMintNotAllowed",
129
+ type: "error",
130
+ },
131
+ {
132
+ inputs: [],
133
+ name: "IntermintNotAllowedGlobally",
134
+ type: "error",
135
+ },
136
+ {
137
+ inputs: [
138
+ {
139
+ internalType: "bool",
140
+ name: "enabled",
141
+ type: "bool",
142
+ },
143
+ ],
144
+ name: "IntermintNotChanged",
145
+ type: "error",
146
+ },
147
+ {
148
+ inputs: [],
149
+ name: "InvalidAddress",
150
+ type: "error",
151
+ },
152
+ {
153
+ inputs: [],
154
+ name: "InvalidAmount",
155
+ type: "error",
156
+ },
157
+ {
158
+ inputs: [],
159
+ name: "InvalidBlockNumber",
160
+ type: "error",
161
+ },
162
+ {
163
+ inputs: [],
164
+ name: "InvalidCToken",
165
+ type: "error",
166
+ },
167
+ {
168
+ inputs: [],
169
+ name: "InvalidCloseFactor",
170
+ type: "error",
171
+ },
172
+ {
173
+ inputs: [],
174
+ name: "InvalidComptroller",
175
+ type: "error",
176
+ },
177
+ {
178
+ inputs: [],
179
+ name: "InvalidDiscountRate",
180
+ type: "error",
181
+ },
182
+ {
183
+ inputs: [],
184
+ name: "InvalidExchangeRate",
185
+ type: "error",
186
+ },
187
+ {
188
+ inputs: [],
189
+ name: "InvalidGroupId",
190
+ type: "error",
191
+ },
192
+ {
193
+ inputs: [],
194
+ name: "InvalidInput",
195
+ type: "error",
196
+ },
197
+ {
198
+ inputs: [],
199
+ name: "InvalidInterestRateModel",
200
+ type: "error",
201
+ },
202
+ {
203
+ inputs: [],
204
+ name: "InvalidMinSuBorrowValue",
205
+ type: "error",
206
+ },
207
+ {
208
+ inputs: [],
209
+ name: "InvalidRedeem",
210
+ type: "error",
211
+ },
212
+ {
213
+ inputs: [],
214
+ name: "InvalidReduceAmount",
215
+ type: "error",
216
+ },
217
+ {
218
+ inputs: [],
219
+ name: "InvalidReserveFactor",
220
+ type: "error",
221
+ },
222
+ {
223
+ inputs: [
224
+ {
225
+ internalType: "address",
226
+ name: "signer",
227
+ type: "address",
228
+ },
229
+ ],
230
+ name: "InvalidSignatureForBorrow",
231
+ type: "error",
232
+ },
233
+ {
234
+ inputs: [
235
+ {
236
+ internalType: "address",
237
+ name: "signer",
238
+ type: "address",
239
+ },
240
+ ],
241
+ name: "InvalidSignatureForMint",
242
+ type: "error",
243
+ },
244
+ {
245
+ inputs: [],
246
+ name: "InvalidSignatureForRedeemFaceValue",
247
+ type: "error",
248
+ },
249
+ {
250
+ inputs: [],
251
+ name: "InvalidSignatureLength",
252
+ type: "error",
253
+ },
254
+ {
255
+ inputs: [],
256
+ name: "InvalidSuToken",
257
+ type: "error",
258
+ },
259
+ {
260
+ inputs: [],
261
+ name: "InvalidTimestamp",
262
+ type: "error",
263
+ },
264
+ {
265
+ inputs: [],
266
+ name: "LiquidateBorrow_LiquidatorIsBorrower",
267
+ type: "error",
268
+ },
269
+ {
270
+ inputs: [],
271
+ name: "LiquidateBorrow_RepayAmountIsMax",
272
+ type: "error",
273
+ },
274
+ {
275
+ inputs: [],
276
+ name: "LiquidateBorrow_RepayAmountIsZero",
277
+ type: "error",
278
+ },
279
+ {
280
+ inputs: [],
281
+ name: "LiquidateBorrow_SeizeTooMuch",
282
+ type: "error",
283
+ },
284
+ {
285
+ inputs: [],
286
+ name: "LiquidateCollateralMarketNotFresh",
287
+ type: "error",
288
+ },
289
+ {
290
+ inputs: [],
291
+ name: "LiquidateMarketNotFresh",
292
+ type: "error",
293
+ },
294
+ {
295
+ inputs: [],
296
+ name: "MarketAlreadyListed",
297
+ type: "error",
298
+ },
299
+ {
300
+ inputs: [],
301
+ name: "MarketAlreadyUnlisted",
302
+ type: "error",
303
+ },
304
+ {
305
+ inputs: [],
306
+ name: "MarketCanOnlyInitializeOnce",
307
+ type: "error",
308
+ },
309
+ {
310
+ inputs: [],
311
+ name: "MarketNotEmpty",
312
+ type: "error",
313
+ },
314
+ {
315
+ inputs: [],
316
+ name: "MarketNotListed",
317
+ type: "error",
318
+ },
319
+ {
320
+ inputs: [],
321
+ name: "MarketPaused",
322
+ type: "error",
323
+ },
324
+ {
325
+ inputs: [],
326
+ name: "MinDelayNotReached",
327
+ type: "error",
328
+ },
329
+ {
330
+ inputs: [],
331
+ name: "MintMarketNotFresh",
332
+ type: "error",
333
+ },
334
+ {
335
+ inputs: [],
336
+ name: "MintPaused",
337
+ type: "error",
338
+ },
339
+ {
340
+ inputs: [],
341
+ name: "MintTokensCantBeZero",
342
+ type: "error",
343
+ },
344
+ {
345
+ inputs: [],
346
+ name: "NoRedemptionProvider",
347
+ type: "error",
348
+ },
349
+ {
350
+ inputs: [],
351
+ name: "NotCToken",
352
+ type: "error",
353
+ },
354
+ {
355
+ inputs: [],
356
+ name: "NotEnoughForSeize",
357
+ type: "error",
358
+ },
359
+ {
360
+ inputs: [],
361
+ name: "NotEnoughRedeemAmount",
362
+ type: "error",
363
+ },
364
+ {
365
+ inputs: [],
366
+ name: "NotEnoughRedeemTokens",
367
+ type: "error",
368
+ },
369
+ {
370
+ inputs: [],
371
+ name: "NotEnoughUnderlyingAfterRedeem",
372
+ type: "error",
373
+ },
374
+ {
375
+ inputs: [],
376
+ name: "NotEnoughUnderlyingForMint",
377
+ type: "error",
378
+ },
379
+ {
380
+ inputs: [],
381
+ name: "NotImplemented",
382
+ type: "error",
383
+ },
384
+ {
385
+ inputs: [],
386
+ name: "NotLiquidatableYet",
387
+ type: "error",
388
+ },
389
+ {
390
+ inputs: [],
391
+ name: "NotSuToken",
392
+ type: "error",
393
+ },
394
+ {
395
+ inputs: [],
396
+ name: "OnlyAdmin",
397
+ type: "error",
398
+ },
399
+ {
400
+ inputs: [],
401
+ name: "OnlyAdminOrPauser",
402
+ type: "error",
403
+ },
404
+ {
405
+ inputs: [],
406
+ name: "OnlyCToken",
407
+ type: "error",
408
+ },
409
+ {
410
+ inputs: [],
411
+ name: "OnlyListedCToken",
412
+ type: "error",
413
+ },
414
+ {
415
+ inputs: [],
416
+ name: "OnlyPausedMarketCanBeUnlisted",
417
+ type: "error",
418
+ },
419
+ {
420
+ inputs: [],
421
+ name: "OnlyPendingAdmin",
422
+ type: "error",
423
+ },
424
+ {
425
+ inputs: [],
426
+ name: "OnlyRedemptionManager",
427
+ type: "error",
428
+ },
429
+ {
430
+ inputs: [],
431
+ name: "OverThreshold",
432
+ type: "error",
433
+ },
434
+ {
435
+ inputs: [],
436
+ name: "PriceError",
437
+ type: "error",
438
+ },
439
+ {
440
+ inputs: [],
441
+ name: "ProtectedMint_OnlyAllowAssetsInTheSameGroup",
442
+ type: "error",
443
+ },
444
+ {
445
+ inputs: [],
446
+ name: "RedeemMarketNotFresh",
447
+ type: "error",
448
+ },
449
+ {
450
+ inputs: [],
451
+ name: "RedeemTransferOutNotPossible",
452
+ type: "error",
453
+ },
454
+ {
455
+ inputs: [],
456
+ name: "RedemptionSeizeTooMuch",
457
+ type: "error",
458
+ },
459
+ {
460
+ inputs: [],
461
+ name: "RedemptionSignerNotInitialized",
462
+ type: "error",
463
+ },
464
+ {
465
+ inputs: [],
466
+ name: "ReduceReservesCashNotAvailable",
467
+ type: "error",
468
+ },
469
+ {
470
+ inputs: [],
471
+ name: "ReduceReservesMarketNotFresh",
472
+ type: "error",
473
+ },
474
+ {
475
+ inputs: [],
476
+ name: "Reentered",
477
+ type: "error",
478
+ },
479
+ {
480
+ inputs: [],
481
+ name: "RepayBorrowMarketNotFresh",
482
+ type: "error",
483
+ },
484
+ {
485
+ inputs: [],
486
+ name: "RepayTokenNotListed",
487
+ type: "error",
488
+ },
489
+ {
490
+ inputs: [],
491
+ name: "SeizePaused",
492
+ type: "error",
493
+ },
494
+ {
495
+ inputs: [],
496
+ name: "SeizeTokenNotListed",
497
+ type: "error",
498
+ },
499
+ {
500
+ inputs: [],
501
+ name: "Seize_LiquidatorIsBorrower",
502
+ type: "error",
503
+ },
504
+ {
505
+ inputs: [],
506
+ name: "SenderMustBeCToken",
507
+ type: "error",
508
+ },
509
+ {
510
+ inputs: [],
511
+ name: "SetInterestRateModelMarketNotFresh",
512
+ type: "error",
513
+ },
514
+ {
515
+ inputs: [],
516
+ name: "SetReservesFactorMarketNotFresh",
517
+ type: "error",
518
+ },
519
+ {
520
+ inputs: [],
521
+ name: "StabilityPoolNotSet",
522
+ type: "error",
523
+ },
524
+ {
525
+ inputs: [],
526
+ name: "SupplyCapReached",
527
+ type: "error",
528
+ },
529
+ {
530
+ inputs: [],
531
+ name: "TokenInOrAmountInMustBeZero",
532
+ type: "error",
533
+ },
534
+ {
535
+ inputs: [],
536
+ name: "TokenTransferInFailed",
537
+ type: "error",
538
+ },
539
+ {
540
+ inputs: [],
541
+ name: "TokenTransferOutFailed",
542
+ type: "error",
543
+ },
544
+ {
545
+ inputs: [],
546
+ name: "TooMuchRepay",
547
+ type: "error",
548
+ },
549
+ {
550
+ inputs: [],
551
+ name: "TotalBorrowsNotZero",
552
+ type: "error",
553
+ },
554
+ {
555
+ inputs: [],
556
+ name: "TotalSupplyNotZero",
557
+ type: "error",
558
+ },
559
+ {
560
+ inputs: [],
561
+ name: "TransferNotAllowed",
562
+ type: "error",
563
+ },
564
+ {
565
+ inputs: [],
566
+ name: "TransferPaused",
567
+ type: "error",
568
+ },
569
+ {
570
+ inputs: [],
571
+ name: "UnderlyingBalanceError",
572
+ type: "error",
573
+ },
574
+ {
575
+ inputs: [],
576
+ name: "ZeroAddressNotAllowed",
577
+ type: "error",
578
+ },
579
+ {
580
+ anonymous: false,
581
+ inputs: [
582
+ {
583
+ indexed: false,
584
+ internalType: "uint256",
585
+ name: "cashPrior",
586
+ type: "uint256",
587
+ },
588
+ {
589
+ indexed: false,
590
+ internalType: "uint256",
591
+ name: "interestAccumulated",
592
+ type: "uint256",
593
+ },
594
+ {
595
+ indexed: false,
596
+ internalType: "uint256",
597
+ name: "borrowIndex",
598
+ type: "uint256",
599
+ },
600
+ {
601
+ indexed: false,
602
+ internalType: "uint256",
603
+ name: "totalBorrows",
604
+ type: "uint256",
605
+ },
606
+ ],
607
+ name: "AccrueInterest",
608
+ type: "event",
609
+ },
610
+ {
611
+ anonymous: false,
612
+ inputs: [
613
+ {
614
+ indexed: true,
615
+ internalType: "address",
616
+ name: "owner",
617
+ type: "address",
618
+ },
619
+ {
620
+ indexed: true,
621
+ internalType: "address",
622
+ name: "spender",
623
+ type: "address",
624
+ },
625
+ {
626
+ indexed: false,
627
+ internalType: "uint256",
628
+ name: "amount",
629
+ type: "uint256",
630
+ },
631
+ ],
632
+ name: "Approval",
633
+ type: "event",
634
+ },
635
+ {
636
+ anonymous: false,
637
+ inputs: [
638
+ {
639
+ indexed: false,
640
+ internalType: "address",
641
+ name: "borrower",
642
+ type: "address",
643
+ },
644
+ {
645
+ indexed: false,
646
+ internalType: "uint256",
647
+ name: "borrowAmount",
648
+ type: "uint256",
649
+ },
650
+ {
651
+ indexed: false,
652
+ internalType: "uint256",
653
+ name: "accountBorrows",
654
+ type: "uint256",
655
+ },
656
+ {
657
+ indexed: false,
658
+ internalType: "uint256",
659
+ name: "totalBorrows",
660
+ type: "uint256",
661
+ },
662
+ ],
663
+ name: "Borrow",
664
+ type: "event",
665
+ },
666
+ {
667
+ anonymous: false,
668
+ inputs: [
669
+ {
670
+ indexed: false,
671
+ internalType: "uint8",
672
+ name: "version",
673
+ type: "uint8",
674
+ },
675
+ ],
676
+ name: "Initialized",
677
+ type: "event",
678
+ },
679
+ {
680
+ anonymous: false,
681
+ inputs: [
682
+ {
683
+ indexed: false,
684
+ internalType: "address",
685
+ name: "liquidator",
686
+ type: "address",
687
+ },
688
+ {
689
+ indexed: false,
690
+ internalType: "address",
691
+ name: "borrower",
692
+ type: "address",
693
+ },
694
+ {
695
+ indexed: false,
696
+ internalType: "uint256",
697
+ name: "repayAmount",
698
+ type: "uint256",
699
+ },
700
+ {
701
+ indexed: false,
702
+ internalType: "address",
703
+ name: "cTokenCollateral",
704
+ type: "address",
705
+ },
706
+ {
707
+ indexed: false,
708
+ internalType: "uint256",
709
+ name: "seizeTokens",
710
+ type: "uint256",
711
+ },
712
+ ],
713
+ name: "LiquidateBorrow",
714
+ type: "event",
715
+ },
716
+ {
717
+ anonymous: false,
718
+ inputs: [
719
+ {
720
+ indexed: false,
721
+ internalType: "address",
722
+ name: "liquidator",
723
+ type: "address",
724
+ },
725
+ {
726
+ indexed: false,
727
+ internalType: "address",
728
+ name: "borrower",
729
+ type: "address",
730
+ },
731
+ {
732
+ indexed: false,
733
+ internalType: "uint256",
734
+ name: "repayAmount",
735
+ type: "uint256",
736
+ },
737
+ {
738
+ indexed: false,
739
+ internalType: "address",
740
+ name: "collateral",
741
+ type: "address",
742
+ },
743
+ {
744
+ indexed: false,
745
+ internalType: "uint256",
746
+ name: "seizeAmount",
747
+ type: "uint256",
748
+ },
749
+ ],
750
+ name: "LiquidateBorrowBySP",
751
+ type: "event",
752
+ },
753
+ {
754
+ anonymous: false,
755
+ inputs: [
756
+ {
757
+ indexed: false,
758
+ internalType: "address",
759
+ name: "minter",
760
+ type: "address",
761
+ },
762
+ {
763
+ indexed: false,
764
+ internalType: "uint256",
765
+ name: "mintAmount",
766
+ type: "uint256",
767
+ },
768
+ {
769
+ indexed: false,
770
+ internalType: "uint256",
771
+ name: "mintTokens",
772
+ type: "uint256",
773
+ },
774
+ ],
775
+ name: "Mint",
776
+ type: "event",
777
+ },
778
+ {
779
+ anonymous: false,
780
+ inputs: [
781
+ {
782
+ indexed: false,
783
+ internalType: "address",
784
+ name: "oldAdmin",
785
+ type: "address",
786
+ },
787
+ {
788
+ indexed: false,
789
+ internalType: "address",
790
+ name: "newAdmin",
791
+ type: "address",
792
+ },
793
+ ],
794
+ name: "NewAdmin",
795
+ type: "event",
796
+ },
797
+ {
798
+ anonymous: false,
799
+ inputs: [
800
+ {
801
+ indexed: false,
802
+ internalType: "address",
803
+ name: "oldComptroller",
804
+ type: "address",
805
+ },
806
+ {
807
+ indexed: false,
808
+ internalType: "address",
809
+ name: "newComptroller",
810
+ type: "address",
811
+ },
812
+ ],
813
+ name: "NewComptroller",
814
+ type: "event",
815
+ },
816
+ {
817
+ anonymous: false,
818
+ inputs: [
819
+ {
820
+ indexed: false,
821
+ internalType: "uint256",
822
+ name: "oldDiscountRateMantissa",
823
+ type: "uint256",
824
+ },
825
+ {
826
+ indexed: false,
827
+ internalType: "uint256",
828
+ name: "newDiscountRateMantissa",
829
+ type: "uint256",
830
+ },
831
+ ],
832
+ name: "NewDiscountRate",
833
+ type: "event",
834
+ },
835
+ {
836
+ anonymous: false,
837
+ inputs: [
838
+ {
839
+ indexed: false,
840
+ internalType: "address",
841
+ name: "oldInterestRateModel",
842
+ type: "address",
843
+ },
844
+ {
845
+ indexed: false,
846
+ internalType: "address",
847
+ name: "newInterestRateModel",
848
+ type: "address",
849
+ },
850
+ ],
851
+ name: "NewMarketInterestRateModel",
852
+ type: "event",
853
+ },
854
+ {
855
+ anonymous: false,
856
+ inputs: [
857
+ {
858
+ indexed: false,
859
+ internalType: "address",
860
+ name: "oldPendingAdmin",
861
+ type: "address",
862
+ },
863
+ {
864
+ indexed: false,
865
+ internalType: "address",
866
+ name: "newPendingAdmin",
867
+ type: "address",
868
+ },
869
+ ],
870
+ name: "NewPendingAdmin",
871
+ type: "event",
872
+ },
873
+ {
874
+ anonymous: false,
875
+ inputs: [
876
+ {
877
+ indexed: false,
878
+ internalType: "uint256",
879
+ name: "oldReserveFactorMantissa",
880
+ type: "uint256",
881
+ },
882
+ {
883
+ indexed: false,
884
+ internalType: "uint256",
885
+ name: "newReserveFactorMantissa",
886
+ type: "uint256",
887
+ },
888
+ ],
889
+ name: "NewReserveFactor",
890
+ type: "event",
891
+ },
892
+ {
893
+ anonymous: false,
894
+ inputs: [
895
+ {
896
+ indexed: false,
897
+ internalType: "address",
898
+ name: "redeemer",
899
+ type: "address",
900
+ },
901
+ {
902
+ indexed: false,
903
+ internalType: "uint256",
904
+ name: "redeemAmount",
905
+ type: "uint256",
906
+ },
907
+ {
908
+ indexed: false,
909
+ internalType: "uint256",
910
+ name: "redeemTokens",
911
+ type: "uint256",
912
+ },
913
+ ],
914
+ name: "Redeem",
915
+ type: "event",
916
+ },
917
+ {
918
+ anonymous: false,
919
+ inputs: [
920
+ {
921
+ indexed: true,
922
+ internalType: "address",
923
+ name: "redeemer",
924
+ type: "address",
925
+ },
926
+ {
927
+ indexed: true,
928
+ internalType: "address",
929
+ name: "provider",
930
+ type: "address",
931
+ },
932
+ {
933
+ indexed: false,
934
+ internalType: "uint256",
935
+ name: "repayAmount",
936
+ type: "uint256",
937
+ },
938
+ {
939
+ indexed: false,
940
+ internalType: "address",
941
+ name: "seizeToken",
942
+ type: "address",
943
+ },
944
+ {
945
+ indexed: false,
946
+ internalType: "uint256",
947
+ name: "seizeAmount",
948
+ type: "uint256",
949
+ },
950
+ {
951
+ indexed: false,
952
+ internalType: "uint256",
953
+ name: "redemptionRateMantissa",
954
+ type: "uint256",
955
+ },
956
+ ],
957
+ name: "RedeemFaceValue",
958
+ type: "event",
959
+ },
960
+ {
961
+ anonymous: false,
962
+ inputs: [
963
+ {
964
+ indexed: false,
965
+ internalType: "address",
966
+ name: "payer",
967
+ type: "address",
968
+ },
969
+ {
970
+ indexed: false,
971
+ internalType: "address",
972
+ name: "borrower",
973
+ type: "address",
974
+ },
975
+ {
976
+ indexed: false,
977
+ internalType: "uint256",
978
+ name: "repayAmount",
979
+ type: "uint256",
980
+ },
981
+ {
982
+ indexed: false,
983
+ internalType: "uint256",
984
+ name: "accountBorrows",
985
+ type: "uint256",
986
+ },
987
+ {
988
+ indexed: false,
989
+ internalType: "uint256",
990
+ name: "totalBorrows",
991
+ type: "uint256",
992
+ },
993
+ ],
994
+ name: "RepayBorrow",
995
+ type: "event",
996
+ },
997
+ {
998
+ anonymous: false,
999
+ inputs: [
1000
+ {
1001
+ indexed: false,
1002
+ internalType: "address",
1003
+ name: "benefactor",
1004
+ type: "address",
1005
+ },
1006
+ {
1007
+ indexed: false,
1008
+ internalType: "uint256",
1009
+ name: "addAmount",
1010
+ type: "uint256",
1011
+ },
1012
+ {
1013
+ indexed: false,
1014
+ internalType: "uint256",
1015
+ name: "newTotalReserves",
1016
+ type: "uint256",
1017
+ },
1018
+ ],
1019
+ name: "ReservesAdded",
1020
+ type: "event",
1021
+ },
1022
+ {
1023
+ anonymous: false,
1024
+ inputs: [
1025
+ {
1026
+ indexed: false,
1027
+ internalType: "address",
1028
+ name: "admin",
1029
+ type: "address",
1030
+ },
1031
+ {
1032
+ indexed: false,
1033
+ internalType: "uint256",
1034
+ name: "reduceAmount",
1035
+ type: "uint256",
1036
+ },
1037
+ {
1038
+ indexed: false,
1039
+ internalType: "uint256",
1040
+ name: "newTotalReserves",
1041
+ type: "uint256",
1042
+ },
1043
+ ],
1044
+ name: "ReservesReduced",
1045
+ type: "event",
1046
+ },
1047
+ {
1048
+ anonymous: false,
1049
+ inputs: [
1050
+ {
1051
+ indexed: true,
1052
+ internalType: "address",
1053
+ name: "from",
1054
+ type: "address",
1055
+ },
1056
+ {
1057
+ indexed: true,
1058
+ internalType: "address",
1059
+ name: "to",
1060
+ type: "address",
1061
+ },
1062
+ {
1063
+ indexed: false,
1064
+ internalType: "uint256",
1065
+ name: "amount",
1066
+ type: "uint256",
1067
+ },
1068
+ ],
1069
+ name: "Transfer",
1070
+ type: "event",
1071
+ },
1072
+ {
1073
+ inputs: [],
1074
+ name: "_acceptAdmin",
1075
+ outputs: [],
1076
+ stateMutability: "nonpayable",
1077
+ type: "function",
1078
+ },
1079
+ {
1080
+ inputs: [
1081
+ {
1082
+ internalType: "uint256",
1083
+ name: "addAmount",
1084
+ type: "uint256",
1085
+ },
1086
+ ],
1087
+ name: "_addReserves",
1088
+ outputs: [],
1089
+ stateMutability: "nonpayable",
1090
+ type: "function",
1091
+ },
1092
+ {
1093
+ inputs: [
1094
+ {
1095
+ internalType: "uint256",
1096
+ name: "reduceAmount",
1097
+ type: "uint256",
1098
+ },
1099
+ ],
1100
+ name: "_reduceReserves",
1101
+ outputs: [],
1102
+ stateMutability: "nonpayable",
1103
+ type: "function",
1104
+ },
1105
+ {
1106
+ inputs: [
1107
+ {
1108
+ internalType: "address",
1109
+ name: "newComptroller",
1110
+ type: "address",
1111
+ },
1112
+ ],
1113
+ name: "_setComptroller",
1114
+ outputs: [],
1115
+ stateMutability: "nonpayable",
1116
+ type: "function",
1117
+ },
1118
+ {
1119
+ inputs: [
1120
+ {
1121
+ internalType: "uint256",
1122
+ name: "discountRateMantissa_",
1123
+ type: "uint256",
1124
+ },
1125
+ ],
1126
+ name: "_setDiscountRate",
1127
+ outputs: [
1128
+ {
1129
+ internalType: "uint256",
1130
+ name: "",
1131
+ type: "uint256",
1132
+ },
1133
+ ],
1134
+ stateMutability: "nonpayable",
1135
+ type: "function",
1136
+ },
1137
+ {
1138
+ inputs: [
1139
+ {
1140
+ internalType: "address",
1141
+ name: "newInterestRateModel",
1142
+ type: "address",
1143
+ },
1144
+ ],
1145
+ name: "_setInterestRateModel",
1146
+ outputs: [],
1147
+ stateMutability: "nonpayable",
1148
+ type: "function",
1149
+ },
1150
+ {
1151
+ inputs: [
1152
+ {
1153
+ internalType: "address payable",
1154
+ name: "newPendingAdmin",
1155
+ type: "address",
1156
+ },
1157
+ ],
1158
+ name: "_setPendingAdmin",
1159
+ outputs: [],
1160
+ stateMutability: "nonpayable",
1161
+ type: "function",
1162
+ },
1163
+ {
1164
+ inputs: [
1165
+ {
1166
+ internalType: "uint256",
1167
+ name: "newReserveFactorMantissa",
1168
+ type: "uint256",
1169
+ },
1170
+ ],
1171
+ name: "_setReserveFactor",
1172
+ outputs: [],
1173
+ stateMutability: "nonpayable",
1174
+ type: "function",
1175
+ },
1176
+ {
1177
+ inputs: [],
1178
+ name: "_syncUnderlyingBalance",
1179
+ outputs: [],
1180
+ stateMutability: "nonpayable",
1181
+ type: "function",
1182
+ },
1183
+ {
1184
+ inputs: [],
1185
+ name: "accrualBlockTimestamp",
1186
+ outputs: [
1187
+ {
1188
+ internalType: "uint256",
1189
+ name: "",
1190
+ type: "uint256",
1191
+ },
1192
+ ],
1193
+ stateMutability: "view",
1194
+ type: "function",
1195
+ },
1196
+ {
1197
+ inputs: [],
1198
+ name: "accrueInterest",
1199
+ outputs: [],
1200
+ stateMutability: "nonpayable",
1201
+ type: "function",
1202
+ },
1203
+ {
1204
+ inputs: [],
1205
+ name: "admin",
1206
+ outputs: [
1207
+ {
1208
+ internalType: "address payable",
1209
+ name: "",
1210
+ type: "address",
1211
+ },
1212
+ ],
1213
+ stateMutability: "view",
1214
+ type: "function",
1215
+ },
1216
+ {
1217
+ inputs: [
1218
+ {
1219
+ internalType: "address",
1220
+ name: "owner",
1221
+ type: "address",
1222
+ },
1223
+ {
1224
+ internalType: "address",
1225
+ name: "spender",
1226
+ type: "address",
1227
+ },
1228
+ ],
1229
+ name: "allowance",
1230
+ outputs: [
1231
+ {
1232
+ internalType: "uint256",
1233
+ name: "",
1234
+ type: "uint256",
1235
+ },
1236
+ ],
1237
+ stateMutability: "view",
1238
+ type: "function",
1239
+ },
1240
+ {
1241
+ inputs: [
1242
+ {
1243
+ internalType: "address",
1244
+ name: "spender",
1245
+ type: "address",
1246
+ },
1247
+ {
1248
+ internalType: "uint256",
1249
+ name: "amount",
1250
+ type: "uint256",
1251
+ },
1252
+ ],
1253
+ name: "approve",
1254
+ outputs: [
1255
+ {
1256
+ internalType: "bool",
1257
+ name: "",
1258
+ type: "bool",
1259
+ },
1260
+ ],
1261
+ stateMutability: "nonpayable",
1262
+ type: "function",
1263
+ },
1264
+ {
1265
+ inputs: [
1266
+ {
1267
+ internalType: "address",
1268
+ name: "owner",
1269
+ type: "address",
1270
+ },
1271
+ ],
1272
+ name: "balanceOf",
1273
+ outputs: [
1274
+ {
1275
+ internalType: "uint256",
1276
+ name: "",
1277
+ type: "uint256",
1278
+ },
1279
+ ],
1280
+ stateMutability: "view",
1281
+ type: "function",
1282
+ },
1283
+ {
1284
+ inputs: [
1285
+ {
1286
+ internalType: "address",
1287
+ name: "owner",
1288
+ type: "address",
1289
+ },
1290
+ ],
1291
+ name: "balanceOfUnderlying",
1292
+ outputs: [
1293
+ {
1294
+ internalType: "uint256",
1295
+ name: "",
1296
+ type: "uint256",
1297
+ },
1298
+ ],
1299
+ stateMutability: "nonpayable",
1300
+ type: "function",
1301
+ },
1302
+ {
1303
+ inputs: [
1304
+ {
1305
+ internalType: "uint256",
1306
+ name: "borrowAmount",
1307
+ type: "uint256",
1308
+ },
1309
+ ],
1310
+ name: "borrow",
1311
+ outputs: [],
1312
+ stateMutability: "nonpayable",
1313
+ type: "function",
1314
+ },
1315
+ {
1316
+ inputs: [
1317
+ {
1318
+ internalType: "address",
1319
+ name: "borrower",
1320
+ type: "address",
1321
+ },
1322
+ {
1323
+ internalType: "uint256",
1324
+ name: "borrowAmount",
1325
+ type: "uint256",
1326
+ },
1327
+ ],
1328
+ name: "borrowAndDepositBack",
1329
+ outputs: [],
1330
+ stateMutability: "nonpayable",
1331
+ type: "function",
1332
+ },
1333
+ {
1334
+ inputs: [
1335
+ {
1336
+ internalType: "address",
1337
+ name: "account",
1338
+ type: "address",
1339
+ },
1340
+ ],
1341
+ name: "borrowBalanceCurrent",
1342
+ outputs: [
1343
+ {
1344
+ internalType: "uint256",
1345
+ name: "",
1346
+ type: "uint256",
1347
+ },
1348
+ ],
1349
+ stateMutability: "nonpayable",
1350
+ type: "function",
1351
+ },
1352
+ {
1353
+ inputs: [
1354
+ {
1355
+ internalType: "address",
1356
+ name: "account",
1357
+ type: "address",
1358
+ },
1359
+ ],
1360
+ name: "borrowBalanceStored",
1361
+ outputs: [
1362
+ {
1363
+ internalType: "uint256",
1364
+ name: "",
1365
+ type: "uint256",
1366
+ },
1367
+ ],
1368
+ stateMutability: "view",
1369
+ type: "function",
1370
+ },
1371
+ {
1372
+ inputs: [],
1373
+ name: "borrowIndex",
1374
+ outputs: [
1375
+ {
1376
+ internalType: "uint256",
1377
+ name: "",
1378
+ type: "uint256",
1379
+ },
1380
+ ],
1381
+ stateMutability: "view",
1382
+ type: "function",
1383
+ },
1384
+ {
1385
+ inputs: [],
1386
+ name: "borrowIndexIntermintable",
1387
+ outputs: [
1388
+ {
1389
+ internalType: "uint256",
1390
+ name: "",
1391
+ type: "uint256",
1392
+ },
1393
+ ],
1394
+ stateMutability: "view",
1395
+ type: "function",
1396
+ },
1397
+ {
1398
+ inputs: [],
1399
+ name: "borrowRatePerBlock",
1400
+ outputs: [
1401
+ {
1402
+ internalType: "uint256",
1403
+ name: "",
1404
+ type: "uint256",
1405
+ },
1406
+ ],
1407
+ stateMutability: "view",
1408
+ type: "function",
1409
+ },
1410
+ {
1411
+ inputs: [],
1412
+ name: "comptroller",
1413
+ outputs: [
1414
+ {
1415
+ internalType: "address",
1416
+ name: "",
1417
+ type: "address",
1418
+ },
1419
+ ],
1420
+ stateMutability: "view",
1421
+ type: "function",
1422
+ },
1423
+ {
1424
+ inputs: [],
1425
+ name: "decimals",
1426
+ outputs: [
1427
+ {
1428
+ internalType: "uint8",
1429
+ name: "",
1430
+ type: "uint8",
1431
+ },
1432
+ ],
1433
+ stateMutability: "view",
1434
+ type: "function",
1435
+ },
1436
+ {
1437
+ inputs: [
1438
+ {
1439
+ internalType: "address",
1440
+ name: "account",
1441
+ type: "address",
1442
+ },
1443
+ ],
1444
+ name: "disableIntermint",
1445
+ outputs: [],
1446
+ stateMutability: "nonpayable",
1447
+ type: "function",
1448
+ },
1449
+ {
1450
+ inputs: [],
1451
+ name: "discountRateMantissa",
1452
+ outputs: [
1453
+ {
1454
+ internalType: "uint256",
1455
+ name: "",
1456
+ type: "uint256",
1457
+ },
1458
+ ],
1459
+ stateMutability: "view",
1460
+ type: "function",
1461
+ },
1462
+ {
1463
+ inputs: [
1464
+ {
1465
+ internalType: "address",
1466
+ name: "account",
1467
+ type: "address",
1468
+ },
1469
+ ],
1470
+ name: "enableIntermint",
1471
+ outputs: [],
1472
+ stateMutability: "nonpayable",
1473
+ type: "function",
1474
+ },
1475
+ {
1476
+ inputs: [],
1477
+ name: "exchangeRateCurrent",
1478
+ outputs: [
1479
+ {
1480
+ internalType: "uint256",
1481
+ name: "",
1482
+ type: "uint256",
1483
+ },
1484
+ ],
1485
+ stateMutability: "nonpayable",
1486
+ type: "function",
1487
+ },
1488
+ {
1489
+ inputs: [],
1490
+ name: "exchangeRateStored",
1491
+ outputs: [
1492
+ {
1493
+ internalType: "uint256",
1494
+ name: "",
1495
+ type: "uint256",
1496
+ },
1497
+ ],
1498
+ stateMutability: "view",
1499
+ type: "function",
1500
+ },
1501
+ {
1502
+ inputs: [
1503
+ {
1504
+ internalType: "address",
1505
+ name: "redeemer",
1506
+ type: "address",
1507
+ },
1508
+ {
1509
+ internalType: "address",
1510
+ name: "provider",
1511
+ type: "address",
1512
+ },
1513
+ {
1514
+ internalType: "uint256",
1515
+ name: "repayAmount",
1516
+ type: "uint256",
1517
+ },
1518
+ {
1519
+ internalType: "address",
1520
+ name: "cTokenCollateral",
1521
+ type: "address",
1522
+ },
1523
+ {
1524
+ internalType: "uint256",
1525
+ name: "seizeAmount",
1526
+ type: "uint256",
1527
+ },
1528
+ {
1529
+ internalType: "uint256",
1530
+ name: "redemptionRateMantissa",
1531
+ type: "uint256",
1532
+ },
1533
+ ],
1534
+ name: "executeRedemption",
1535
+ outputs: [],
1536
+ stateMutability: "nonpayable",
1537
+ type: "function",
1538
+ },
1539
+ {
1540
+ inputs: [
1541
+ {
1542
+ internalType: "address",
1543
+ name: "account",
1544
+ type: "address",
1545
+ },
1546
+ ],
1547
+ name: "getAccountSnapshot",
1548
+ outputs: [
1549
+ {
1550
+ internalType: "uint256",
1551
+ name: "",
1552
+ type: "uint256",
1553
+ },
1554
+ {
1555
+ internalType: "uint256",
1556
+ name: "",
1557
+ type: "uint256",
1558
+ },
1559
+ {
1560
+ internalType: "uint256",
1561
+ name: "",
1562
+ type: "uint256",
1563
+ },
1564
+ {
1565
+ internalType: "uint256",
1566
+ name: "",
1567
+ type: "uint256",
1568
+ },
1569
+ ],
1570
+ stateMutability: "view",
1571
+ type: "function",
1572
+ },
1573
+ {
1574
+ inputs: [],
1575
+ name: "getCash",
1576
+ outputs: [
1577
+ {
1578
+ internalType: "uint256",
1579
+ name: "",
1580
+ type: "uint256",
1581
+ },
1582
+ ],
1583
+ stateMutability: "view",
1584
+ type: "function",
1585
+ },
1586
+ {
1587
+ inputs: [
1588
+ {
1589
+ internalType: "address",
1590
+ name: "underlying_",
1591
+ type: "address",
1592
+ },
1593
+ {
1594
+ internalType: "address",
1595
+ name: "comptroller_",
1596
+ type: "address",
1597
+ },
1598
+ {
1599
+ internalType: "address",
1600
+ name: "interestRateModel_",
1601
+ type: "address",
1602
+ },
1603
+ {
1604
+ internalType: "uint256",
1605
+ name: "initialExchangeRateMantissa_",
1606
+ type: "uint256",
1607
+ },
1608
+ {
1609
+ internalType: "string",
1610
+ name: "name_",
1611
+ type: "string",
1612
+ },
1613
+ {
1614
+ internalType: "string",
1615
+ name: "symbol_",
1616
+ type: "string",
1617
+ },
1618
+ {
1619
+ internalType: "uint8",
1620
+ name: "decimals_",
1621
+ type: "uint8",
1622
+ },
1623
+ {
1624
+ internalType: "address payable",
1625
+ name: "admin_",
1626
+ type: "address",
1627
+ },
1628
+ ],
1629
+ name: "initialize",
1630
+ outputs: [],
1631
+ stateMutability: "nonpayable",
1632
+ type: "function",
1633
+ },
1634
+ {
1635
+ inputs: [
1636
+ {
1637
+ internalType: "address",
1638
+ name: "irmIntermintable",
1639
+ type: "address",
1640
+ },
1641
+ ],
1642
+ name: "initializeV2",
1643
+ outputs: [],
1644
+ stateMutability: "nonpayable",
1645
+ type: "function",
1646
+ },
1647
+ {
1648
+ inputs: [],
1649
+ name: "interestRateModel",
1650
+ outputs: [
1651
+ {
1652
+ internalType: "address",
1653
+ name: "",
1654
+ type: "address",
1655
+ },
1656
+ ],
1657
+ stateMutability: "view",
1658
+ type: "function",
1659
+ },
1660
+ {
1661
+ inputs: [],
1662
+ name: "interestRateModelIntermintable",
1663
+ outputs: [
1664
+ {
1665
+ internalType: "address",
1666
+ name: "",
1667
+ type: "address",
1668
+ },
1669
+ ],
1670
+ stateMutability: "view",
1671
+ type: "function",
1672
+ },
1673
+ {
1674
+ inputs: [],
1675
+ name: "isCEther",
1676
+ outputs: [
1677
+ {
1678
+ internalType: "bool",
1679
+ name: "",
1680
+ type: "bool",
1681
+ },
1682
+ ],
1683
+ stateMutability: "pure",
1684
+ type: "function",
1685
+ },
1686
+ {
1687
+ inputs: [],
1688
+ name: "isCEtherDeprecated",
1689
+ outputs: [
1690
+ {
1691
+ internalType: "bool",
1692
+ name: "",
1693
+ type: "bool",
1694
+ },
1695
+ ],
1696
+ stateMutability: "view",
1697
+ type: "function",
1698
+ },
1699
+ {
1700
+ inputs: [],
1701
+ name: "isCToken",
1702
+ outputs: [
1703
+ {
1704
+ internalType: "bool",
1705
+ name: "",
1706
+ type: "bool",
1707
+ },
1708
+ ],
1709
+ stateMutability: "pure",
1710
+ type: "function",
1711
+ },
1712
+ {
1713
+ inputs: [],
1714
+ name: "isCTokenDeprecated",
1715
+ outputs: [
1716
+ {
1717
+ internalType: "bool",
1718
+ name: "",
1719
+ type: "bool",
1720
+ },
1721
+ ],
1722
+ stateMutability: "view",
1723
+ type: "function",
1724
+ },
1725
+ {
1726
+ inputs: [
1727
+ {
1728
+ internalType: "address",
1729
+ name: "borrower",
1730
+ type: "address",
1731
+ },
1732
+ {
1733
+ internalType: "uint256",
1734
+ name: "repayAmount",
1735
+ type: "uint256",
1736
+ },
1737
+ {
1738
+ internalType: "address",
1739
+ name: "cTokenCollateral",
1740
+ type: "address",
1741
+ },
1742
+ ],
1743
+ name: "liquidateBorrow",
1744
+ outputs: [],
1745
+ stateMutability: "nonpayable",
1746
+ type: "function",
1747
+ },
1748
+ {
1749
+ inputs: [
1750
+ {
1751
+ internalType: "address",
1752
+ name: "borrower",
1753
+ type: "address",
1754
+ },
1755
+ {
1756
+ internalType: "uint256",
1757
+ name: "repayAmount",
1758
+ type: "uint256",
1759
+ },
1760
+ {
1761
+ internalType: "address",
1762
+ name: "cTokenCollateral",
1763
+ type: "address",
1764
+ },
1765
+ ],
1766
+ name: "liquidateBorrowBySP",
1767
+ outputs: [],
1768
+ stateMutability: "nonpayable",
1769
+ type: "function",
1770
+ },
1771
+ {
1772
+ inputs: [
1773
+ {
1774
+ internalType: "address",
1775
+ name: "cTokenCollateral",
1776
+ type: "address",
1777
+ },
1778
+ {
1779
+ internalType: "uint256",
1780
+ name: "actualRepayAmount",
1781
+ type: "uint256",
1782
+ },
1783
+ ],
1784
+ name: "liquidateCalculateSeizeTokens",
1785
+ outputs: [
1786
+ {
1787
+ internalType: "uint256",
1788
+ name: "",
1789
+ type: "uint256",
1790
+ },
1791
+ {
1792
+ internalType: "uint256",
1793
+ name: "",
1794
+ type: "uint256",
1795
+ },
1796
+ ],
1797
+ stateMutability: "view",
1798
+ type: "function",
1799
+ },
1800
+ {
1801
+ inputs: [
1802
+ {
1803
+ internalType: "uint256",
1804
+ name: "mintAmount",
1805
+ type: "uint256",
1806
+ },
1807
+ ],
1808
+ name: "mint",
1809
+ outputs: [],
1810
+ stateMutability: "nonpayable",
1811
+ type: "function",
1812
+ },
1813
+ {
1814
+ inputs: [],
1815
+ name: "mintFeeRateMantissa",
1816
+ outputs: [
1817
+ {
1818
+ internalType: "uint256",
1819
+ name: "",
1820
+ type: "uint256",
1821
+ },
1822
+ ],
1823
+ stateMutability: "view",
1824
+ type: "function",
1825
+ },
1826
+ {
1827
+ inputs: [
1828
+ {
1829
+ internalType: "uint256",
1830
+ name: "mintAmount",
1831
+ type: "uint256",
1832
+ },
1833
+ {
1834
+ internalType: "uint256",
1835
+ name: "deadline",
1836
+ type: "uint256",
1837
+ },
1838
+ {
1839
+ internalType: "bytes",
1840
+ name: "signature",
1841
+ type: "bytes",
1842
+ },
1843
+ ],
1844
+ name: "mintWithPermit",
1845
+ outputs: [],
1846
+ stateMutability: "nonpayable",
1847
+ type: "function",
1848
+ },
1849
+ {
1850
+ inputs: [],
1851
+ name: "name",
1852
+ outputs: [
1853
+ {
1854
+ internalType: "string",
1855
+ name: "",
1856
+ type: "string",
1857
+ },
1858
+ ],
1859
+ stateMutability: "view",
1860
+ type: "function",
1861
+ },
1862
+ {
1863
+ inputs: [],
1864
+ name: "pendingAdmin",
1865
+ outputs: [
1866
+ {
1867
+ internalType: "address payable",
1868
+ name: "",
1869
+ type: "address",
1870
+ },
1871
+ ],
1872
+ stateMutability: "view",
1873
+ type: "function",
1874
+ },
1875
+ {
1876
+ inputs: [],
1877
+ name: "percentScale",
1878
+ outputs: [
1879
+ {
1880
+ internalType: "uint256",
1881
+ name: "",
1882
+ type: "uint256",
1883
+ },
1884
+ ],
1885
+ stateMutability: "view",
1886
+ type: "function",
1887
+ },
1888
+ {
1889
+ inputs: [
1890
+ {
1891
+ internalType: "address",
1892
+ name: "cTokenCollateral",
1893
+ type: "address",
1894
+ },
1895
+ {
1896
+ internalType: "uint256",
1897
+ name: "cBorrowAmount",
1898
+ type: "uint256",
1899
+ },
1900
+ {
1901
+ internalType: "uint256",
1902
+ name: "suBorrowAmount",
1903
+ type: "uint256",
1904
+ },
1905
+ ],
1906
+ name: "protectedMint",
1907
+ outputs: [],
1908
+ stateMutability: "nonpayable",
1909
+ type: "function",
1910
+ },
1911
+ {
1912
+ inputs: [],
1913
+ name: "protocolSeizeShareMantissa",
1914
+ outputs: [
1915
+ {
1916
+ internalType: "uint256",
1917
+ name: "",
1918
+ type: "uint256",
1919
+ },
1920
+ ],
1921
+ stateMutability: "view",
1922
+ type: "function",
1923
+ },
1924
+ {
1925
+ inputs: [
1926
+ {
1927
+ internalType: "uint256",
1928
+ name: "redeemTokens",
1929
+ type: "uint256",
1930
+ },
1931
+ ],
1932
+ name: "redeem",
1933
+ outputs: [],
1934
+ stateMutability: "nonpayable",
1935
+ type: "function",
1936
+ },
1937
+ {
1938
+ inputs: [
1939
+ {
1940
+ internalType: "uint256",
1941
+ name: "redeemAmount",
1942
+ type: "uint256",
1943
+ },
1944
+ ],
1945
+ name: "redeemUnderlying",
1946
+ outputs: [],
1947
+ stateMutability: "nonpayable",
1948
+ type: "function",
1949
+ },
1950
+ {
1951
+ inputs: [
1952
+ {
1953
+ internalType: "uint256",
1954
+ name: "repayAmount",
1955
+ type: "uint256",
1956
+ },
1957
+ ],
1958
+ name: "repayBorrow",
1959
+ outputs: [],
1960
+ stateMutability: "nonpayable",
1961
+ type: "function",
1962
+ },
1963
+ {
1964
+ inputs: [
1965
+ {
1966
+ internalType: "address",
1967
+ name: "borrower",
1968
+ type: "address",
1969
+ },
1970
+ {
1971
+ internalType: "uint256",
1972
+ name: "repayAmount",
1973
+ type: "uint256",
1974
+ },
1975
+ ],
1976
+ name: "repayBorrowBehalf",
1977
+ outputs: [],
1978
+ stateMutability: "nonpayable",
1979
+ type: "function",
1980
+ },
1981
+ {
1982
+ inputs: [
1983
+ {
1984
+ internalType: "uint256",
1985
+ name: "repayAmount",
1986
+ type: "uint256",
1987
+ },
1988
+ {
1989
+ internalType: "uint256",
1990
+ name: "deadline",
1991
+ type: "uint256",
1992
+ },
1993
+ {
1994
+ internalType: "bytes",
1995
+ name: "signature",
1996
+ type: "bytes",
1997
+ },
1998
+ ],
1999
+ name: "repayBorrowWithPermit",
2000
+ outputs: [],
2001
+ stateMutability: "nonpayable",
2002
+ type: "function",
2003
+ },
2004
+ {
2005
+ inputs: [],
2006
+ name: "reserveFactorMantissa",
2007
+ outputs: [
2008
+ {
2009
+ internalType: "uint256",
2010
+ name: "",
2011
+ type: "uint256",
2012
+ },
2013
+ ],
2014
+ stateMutability: "view",
2015
+ type: "function",
2016
+ },
2017
+ {
2018
+ inputs: [
2019
+ {
2020
+ internalType: "address",
2021
+ name: "liquidator",
2022
+ type: "address",
2023
+ },
2024
+ {
2025
+ internalType: "address",
2026
+ name: "borrower",
2027
+ type: "address",
2028
+ },
2029
+ {
2030
+ internalType: "uint256",
2031
+ name: "seizeTokens",
2032
+ type: "uint256",
2033
+ },
2034
+ {
2035
+ internalType: "uint256",
2036
+ name: "seizeProfitTokens",
2037
+ type: "uint256",
2038
+ },
2039
+ {
2040
+ internalType: "bool",
2041
+ name: "isRedemption",
2042
+ type: "bool",
2043
+ },
2044
+ {
2045
+ internalType: "uint256",
2046
+ name: "redemptionRateMantissa",
2047
+ type: "uint256",
2048
+ },
2049
+ ],
2050
+ name: "seize",
2051
+ outputs: [
2052
+ {
2053
+ internalType: "uint256",
2054
+ name: "",
2055
+ type: "uint256",
2056
+ },
2057
+ ],
2058
+ stateMutability: "nonpayable",
2059
+ type: "function",
2060
+ },
2061
+ {
2062
+ inputs: [],
2063
+ name: "stabilityPool",
2064
+ outputs: [
2065
+ {
2066
+ internalType: "address",
2067
+ name: "",
2068
+ type: "address",
2069
+ },
2070
+ ],
2071
+ stateMutability: "view",
2072
+ type: "function",
2073
+ },
2074
+ {
2075
+ inputs: [],
2076
+ name: "supplyRatePerBlock",
2077
+ outputs: [
2078
+ {
2079
+ internalType: "uint256",
2080
+ name: "",
2081
+ type: "uint256",
2082
+ },
2083
+ ],
2084
+ stateMutability: "view",
2085
+ type: "function",
2086
+ },
2087
+ {
2088
+ inputs: [
2089
+ {
2090
+ internalType: "contract ERC20",
2091
+ name: "token",
2092
+ type: "address",
2093
+ },
2094
+ ],
2095
+ name: "sweepToken",
2096
+ outputs: [],
2097
+ stateMutability: "nonpayable",
2098
+ type: "function",
2099
+ },
2100
+ {
2101
+ inputs: [],
2102
+ name: "symbol",
2103
+ outputs: [
2104
+ {
2105
+ internalType: "string",
2106
+ name: "",
2107
+ type: "string",
2108
+ },
2109
+ ],
2110
+ stateMutability: "view",
2111
+ type: "function",
2112
+ },
2113
+ {
2114
+ inputs: [],
2115
+ name: "tokenType",
2116
+ outputs: [
2117
+ {
2118
+ internalType: "enum CToken.CTokenType",
2119
+ name: "",
2120
+ type: "uint8",
2121
+ },
2122
+ ],
2123
+ stateMutability: "pure",
2124
+ type: "function",
2125
+ },
2126
+ {
2127
+ inputs: [],
2128
+ name: "totalBorrows",
2129
+ outputs: [
2130
+ {
2131
+ internalType: "uint256",
2132
+ name: "",
2133
+ type: "uint256",
2134
+ },
2135
+ ],
2136
+ stateMutability: "view",
2137
+ type: "function",
2138
+ },
2139
+ {
2140
+ inputs: [],
2141
+ name: "totalBorrowsCurrent",
2142
+ outputs: [
2143
+ {
2144
+ internalType: "uint256",
2145
+ name: "",
2146
+ type: "uint256",
2147
+ },
2148
+ ],
2149
+ stateMutability: "nonpayable",
2150
+ type: "function",
2151
+ },
2152
+ {
2153
+ inputs: [],
2154
+ name: "totalBorrowsIntermintable",
2155
+ outputs: [
2156
+ {
2157
+ internalType: "uint256",
2158
+ name: "",
2159
+ type: "uint256",
2160
+ },
2161
+ ],
2162
+ stateMutability: "view",
2163
+ type: "function",
2164
+ },
2165
+ {
2166
+ inputs: [],
2167
+ name: "totalBorrowsNotIntermintable",
2168
+ outputs: [
2169
+ {
2170
+ internalType: "uint256",
2171
+ name: "",
2172
+ type: "uint256",
2173
+ },
2174
+ ],
2175
+ stateMutability: "view",
2176
+ type: "function",
2177
+ },
2178
+ {
2179
+ inputs: [],
2180
+ name: "totalReserves",
2181
+ outputs: [
2182
+ {
2183
+ internalType: "uint256",
2184
+ name: "",
2185
+ type: "uint256",
2186
+ },
2187
+ ],
2188
+ stateMutability: "view",
2189
+ type: "function",
2190
+ },
2191
+ {
2192
+ inputs: [],
2193
+ name: "totalSupply",
2194
+ outputs: [
2195
+ {
2196
+ internalType: "uint256",
2197
+ name: "",
2198
+ type: "uint256",
2199
+ },
2200
+ ],
2201
+ stateMutability: "view",
2202
+ type: "function",
2203
+ },
2204
+ {
2205
+ inputs: [
2206
+ {
2207
+ internalType: "address",
2208
+ name: "dst",
2209
+ type: "address",
2210
+ },
2211
+ {
2212
+ internalType: "uint256",
2213
+ name: "amount",
2214
+ type: "uint256",
2215
+ },
2216
+ ],
2217
+ name: "transfer",
2218
+ outputs: [
2219
+ {
2220
+ internalType: "bool",
2221
+ name: "",
2222
+ type: "bool",
2223
+ },
2224
+ ],
2225
+ stateMutability: "nonpayable",
2226
+ type: "function",
2227
+ },
2228
+ {
2229
+ inputs: [
2230
+ {
2231
+ internalType: "address",
2232
+ name: "src",
2233
+ type: "address",
2234
+ },
2235
+ {
2236
+ internalType: "address",
2237
+ name: "dst",
2238
+ type: "address",
2239
+ },
2240
+ {
2241
+ internalType: "uint256",
2242
+ name: "amount",
2243
+ type: "uint256",
2244
+ },
2245
+ ],
2246
+ name: "transferFrom",
2247
+ outputs: [
2248
+ {
2249
+ internalType: "bool",
2250
+ name: "",
2251
+ type: "bool",
2252
+ },
2253
+ ],
2254
+ stateMutability: "nonpayable",
2255
+ type: "function",
2256
+ },
2257
+ {
2258
+ inputs: [],
2259
+ name: "underlying",
2260
+ outputs: [
2261
+ {
2262
+ internalType: "address",
2263
+ name: "",
2264
+ type: "address",
2265
+ },
2266
+ ],
2267
+ stateMutability: "view",
2268
+ type: "function",
2269
+ },
2270
+ {
2271
+ inputs: [],
2272
+ name: "underlyingBalance",
2273
+ outputs: [
2274
+ {
2275
+ internalType: "uint256",
2276
+ name: "",
2277
+ type: "uint256",
2278
+ },
2279
+ ],
2280
+ stateMutability: "view",
2281
+ type: "function",
2282
+ },
2283
+ ];
2284
+ const _bytecode = "0x6080806040523460e457670de0b6b3a7640000601155600060155560006016556000601755670de0b6b3a7640000601855604d549060ff8260081c166092575060ff808216106058575b60405161585290816100ea8239f35b60ff9081191617604d557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a1386049565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630283719d146104ad578063048c661d146104a857806306fdde03146104a35780630786f2231461049e578063095ea7b3146104995780630e75270214610494578063134131a21461048f578063173b99041461048a57806317bfdfbc1461048557806318160ddd14610480578063182df0f51461047b5780631be195601461047657806323b872dd146104715780632608f8181461046c57806326782247146104675780632826c1a11461046257806329b6eca91461045d5780632d7183f61461045857806330fa738c14610453578063313ce5671461044e5780633af9e669146104495780633b1d21a2146104265780633e941010146104445780634000fbad1461043f57806341e340061461043a57806342f3251a146104355780634576b5db1461043057806347bd37181461042b57806359356c5c146104265780635fe3b56714610421578063601a0bf11461041c57806364ce2d07146104175780636752e702146104125780636f307dc31461040d57806370a082311461040857806372cd91671461040357806373acee98146103fe578063755ee2e3146103f95780637e8cfc6c146103f4578063852a12e3146103ef578063891802ff146103ea5780638b250f01146103e55780638f840ddd146103e057806395d89b41146103db57806395dd9193146103d657806399f7fe89146103d15780639b1a5bf4146103cc5780639b9790a5146103c75780639e211641146103c2578063a0712d68146103bd578063a6afed95146103b8578063a9059cbb146103b3578063aa5af0fd146103ae578063ac784ddc1461034a578063ae9d70b0146103a9578063b09e171c146103a4578063b58663821461039f578063b71d1a0c1461039a578063bd6d894d14610395578063c37f68e214610390578063c5ebeaec1461038b578063cfa9920114610386578063d4af8de214610381578063db006a751461037c578063dd62ed3e14610377578063e9c714f214610372578063eac1fed01461036d578063f2b3abbd14610368578063f3fdb15a14610363578063f5e3c4621461035e578063f851a44014610359578063f8f9da2814610354578063fca7820b1461034f5763fe9c44ae1461034a57600080fd5b611f11565b612faa565b612f51565b612f24565b612b84565b612b5b565b612a63565b612a42565b61290b565b6128a8565b612869565b6127d1565b612780565b612741565b6126de565b6126c3565b612614565b612578565b611ff9565b611f2d565b611ef3565b611eab565b611e92565b611e59565b611dda565b611ba9565b611b86565b611b68565b611b3e565b611a96565b611a78565b6119ea565b6119cc565b61198d565b6118ff565b6118d6565b611886565b6114cf565b611492565b611465565b611442565b611424565b61130e565b6112e5565b611003565b6112c7565b6111c2565b6111a4565b611169565b6110fb565b611021565b610f99565b610f78565b610f5c565b610ea5565b610d7d565b610cc8565b610bf7565b610b98565b610b23565b610937565b610919565b6108fb565b610898565b61087a565b6107b6565b610798565b610708565b6106d1565b6105f1565b6104e0565b6104c2565b60009103126104bd57565b600080fd5b346104bd5760003660031901126104bd576020601654604051908152f35b346104bd5760003660031901126104bd57601a546040516001600160a01b039091168152602090f35b90600182811c92168015610539575b602083101461052357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610518565b634e487b7160e01b600052604160045260246000fd5b6020810190811067ffffffffffffffff82111761057557604052565b610543565b90601f8019910116810190811067ffffffffffffffff82111761057557604052565b919082519283825260005b8481106105c8575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016105a7565b9060206105ee92818152019061059c565b90565b346104bd5760003660031901126104bd576040516001546000908161061582610509565b80855291600181169081156106aa575060011461064d575b6106498461063d8186038261057a565b604051918291826105dd565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b8082106106905750909150810160200161063d8261062d565b919260018160209254838588010152019101909291610677565b60ff191660208087019190915292151560051b8501909201925061063d915083905061062d565b346104bd5760003660031901126104bd57602060ff60005460081c166040519015158152f35b6001600160a01b038116036104bd57565b346104bd5760403660031901126104bd57600435610725816106f7565b6024359033600052600f602052816107538260406000209060018060a01b0316600052602052604060002090565b556040519182526001600160a01b03169033907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590602090a360405160018152602090f35b346104bd5760203660031901126104bd576107b4600435613c3a565b005b346104bd5760403660031901126104bd576107d26004356106f7565b60005460ff8160101c16156108695762ff00001916600055604051637f4e225760e11b8152602081600481335afa90811561086457600091610835575b506108245762771b3360e91b60005260046000fd5b634a8af12d60e01b60005260046000fd5b610857915060203d60201161085d575b61084f818361057a565b81019061306f565b3861080f565b503d610845565b613084565b63b5dfd9e560e01b60005260046000fd5b346104bd5760003660031901126104bd576020600854604051908152f35b346104bd5760203660031901126104bd576004356108b5816106f7565b6000549060ff8260101c1615610869576108df9162ff000019166000556108da613660565b614558565b6000805462ff0000191662010000179055604051908152602090f35b346104bd5760003660031901126104bd576020600d54604051908152f35b346104bd5760003660031901126104bd576020600754604051908152f35b346104bd5760203660031901126104bd57600435610954816106f7565b600354600881901c6001600160a01b03163303610b12576000546001600160a01b0383811692916109939160189190911c165b6001600160a01b031690565b808314610b01576040516370a0823160e01b81523060048201529390602090859060249082906001600160a01b03165afa93841561086457600094610ae0575b506040516370a0823160e01b815230600482015292602090849060249082905afa91821561086457610a2393600093610ab7575b50610a1d9060081c6001600160a01b0316610987565b90613c7a565b600054610a3d906109879060181c6001600160a01b031681565b6040516370a0823160e01b81523060048201529190602090839060249082905afa91821561086457600092610a86575b5003610a7557005b6346edcd5360e11b60005260046000fd5b610aa991925060203d602011610ab0575b610aa1818361057a565b810190613090565b9038610a6d565b503d610a97565b610a1d919350610ad86109879160203d602011610ab057610aa1818361057a565b939150610a07565b610afa91945060203d602011610ab057610aa1818361057a565b92386109d3565b632f028cfb60e01b60005260046000fd5b634755657960e01b60005260046000fd5b346104bd5760603660031901126104bd57600435610b40816106f7565b602435610b4c816106f7565b6044356000549160ff8360101c16156108695761064993610b769362ff0000191660005533613d0c565b6000805462ff0000191662010000179055604051901581529081906020820190565b346104bd5760403660031901126104bd57600435610bb5816106f7565b6024356000549160ff8360101c161561086957610be39262ff00001916600055610bdd613660565b33614364565b506000805462ff0000191662010000179055005b346104bd5760003660031901126104bd576004546040516001600160a01b039091168152602090f35b60405190610c2f60208361057a565b565b67ffffffffffffffff811161057557601f01601f191660200190565b929192610c5982610c31565b91610c67604051938461057a565b8294818452818301116104bd578281602093846000960137010152565b60606003198201126104bd5760043591602435916044359067ffffffffffffffff82116104bd57806023830112156104bd578160246105ee93600401359101610c4d565b346104bd57610cd636610c84565b60005460181c6001600160a01b03169190823b156104bd57610d159260009283604051809681958294639fd5a6cf60e01b84528a30336004870161309f565b03925af1801561086457610d63575b506000549060ff8260101c161561086957610d509162ff00001916600055610d4a613660565b33614b6b565b6000805462ff0000191662010000179055005b80610d706000809361057a565b8003126104bd5738610d24565b346104bd5760203660031901126104bd57600435610d9a816106f7565b610102604d5460ff8160081c161580610e8e575b610db7906130d8565b61ffff191617604d55600b546016556040516310c8fc9560e11b81526020816004816001600160a01b0386165afa90811561086457600091610e6f575b5015610e5e5760018060a01b03166bffffffffffffffffffffffff60a01b6019541617601955610e2a61ff0019604d5416604d55565b604051600281527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a1005b63ee39b72560e01b60005260046000fd5b610e88915060203d60201161085d5761084f818361057a565b38610df4565b50600260ff821610610dae565b801515036104bd57565b346104bd5760c03660031901126104bd57600435610ec2816106f7565b602435610ece816106f7565b604435608435606435610ee082610e9b565b60a435926000549460ff8660101c16156108695761064996610f229662ff000019166000558515610f53575b670de0b6b3a76400008611610f43575b3361412b565b6000805462ff00001916620100001790556040519081529081906020820190565b670de0b6b3a76400009550610f1c565b60009550610f0c565b346104bd5760003660031901126104bd57602060405160058152f35b346104bd5760003660031901126104bd57602060ff60035416604051908152f35b346104bd5760203660031901126104bd576020670de0b6b3a7640000610ff9600435610fc4816106f7565b610fcc613958565b9060405191610fda83610559565b82526001600160a01b03166000908152600e85526040902054906148d5565b5104604051908152f35b346104bd5760003660031901126104bd576020601254604051908152f35b346104bd5760203660031901126104bd5760043560005460ff8160101c16156108695762ff00001916600055611055613660565b60145442036110ea576110689033615494565b600c54818101908181116110e55781106110d457600c8190556040805133815260208101939093528201527fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc59080606081015b0390a16107b46201000062ff0000196000541617600055565b6335c973c760e21b60005260046000fd5b6131d6565b639d4e8c1b60e01b60005260046000fd5b346104bd5760203660031901126104bd576003546004359060081c6001600160a01b03163303610b1257601180549082905560408051918252602082018390527f68e61dbc80efc8af787740901509a321d0fc29f4e432fae6c4e175867b96144391a1604051908152602090f35b346104bd5760403660031901126104bd57611192600435611189816106f7565b60243590613241565b60408051928352602083019190915290f35b346104bd5760003660031901126104bd576020601154604051908152f35b346104bd5760203660031901126104bd576004356111df816106f7565b60035460081c6001600160a01b03163303610b12576005546001600160a01b0316604051623f1ee960e11b81529091906020816004816001600160a01b0386165afa908115610864576000916112a8575b501561129757600580546001600160a01b0319166001600160a01b0383161790557f7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d915b604080516001600160a01b03928316815292909116602083015281908101610e59565b6383aebebd60e01b60005260046000fd5b6112c1915060203d60201161085d5761084f818361057a565b38611230565b346104bd5760003660031901126104bd576020600b54604051908152f35b346104bd5760003660031901126104bd576005546040516001600160a01b039091168152602090f35b346104bd5760203660031901126104bd5760043561132a613660565b60035460081c6001600160a01b03163303610b125760005460ff8160101c16156108695762ff00001916600055601454420361141357806012541061140257600c54908181116113f1578082039182116110e557816113a97f3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e93600c55565b6003546113c390839060081c6001600160a01b03166153cf565b6003546040805160089290921c6001600160a01b0316825260208201939093529182015280606081016110bb565b63152125f760e21b60005260046000fd5b633345e99960e01b60005260046000fd5b631747e30360e21b60005260046000fd5b346104bd5760003660031901126104bd576020601554604051908152f35b346104bd5760003660031901126104bd576020604051670429d069189e00008152f35b346104bd5760003660031901126104bd5760005460405160189190911c6001600160a01b03168152602090f35b346104bd5760203660031901126104bd576004356114af816106f7565b60018060a01b0316600052600e6020526020604060002054604051908152f35b346104bd5760c03660031901126104bd576004356114ec816106f7565b6024356114f8816106f7565b60443590606435611508816106f7565b6084359160a4359260005460ff8160101c16156108695762ff0000191660005560055461153f90610987906001600160a01b031681565b604051630c9e3ac160e21b8152602081600481855afa90811561086457600091611857575b506001600160a01b0316330361184657604051637f4e225760e11b8152602081600481305afa90811561086457600091611827575b506108245760405163182df0f560e01b81526001600160a01b0385169190602081600481865afa90811561086457600091611808575b506040516312bdd04160e31b81526001600160a01b0387166004820152602081602481865afa908115610864576000916117e9575b506040516312bdd04160e31b815230600482015292602090849060249082905afa928315610864576000936117c8575b5061163d613660565b833b156104bd5760405163a6afed9560e01b815260008160048183895af18015610864576116846116849361169261168461169d978f96611697966117ad575b508b61320c565b670de0b6b3a7640000900490565b61320c565b9361320c565b1061179c5760208286926116b289878c614364565b506040516316b8c1fb60e11b81526001600160a01b038b811660048301528716602482015260448101929092526000606483018190526001608484015260a48301989098529096879160c49183915af1918215610864577fe1db632d042670dabfe2a33b19612b1cbf4fe87ccdcb2eab98c00f975c0219e8956117669361177f575b50604080519788526001600160a01b039586166020890152870152606086015290821694909116929081906080820190565b0390a36107b46201000062ff0000196000541617600055565b6117979060203d602011610ab057610aa1818361057a565b611734565b630e216c9b60e21b60005260046000fd5b806117bc60006117c29361057a565b806104b2565b3861167d565b6117e291935060203d602011610ab057610aa1818361057a565b9138611634565b611802915060203d602011610ab057610aa1818361057a565b38611604565b611821915060203d602011610ab057610aa1818361057a565b386115cf565b611840915060203d60201161085d5761084f818361057a565b38611599565b6367a3563f60e01b60005260046000fd5b611879915060203d60201161187f575b611871818361057a565b8101906135df565b38611564565b503d611867565b346104bd5760003660031901126104bd5760005460ff8160101c16156108695762ff000019166000556118b7613660565b600b546000805462ff0000191662010000179055604051908152602090f35b346104bd5760003660031901126104bd576019546040516001600160a01b039091168152602090f35b346104bd5760203660031901126104bd5760043561191c816106f7565b61193160018060a01b03600554163314613614565b611939613660565b61194281614558565b6001600160a01b039091166000908152601060205260409020818155601854600191909101556016548181039081116110e5576107b49161198891601655601754613234565b601755565b346104bd5760203660031901126104bd576004356000549060ff8260101c161561086957610be39162ff000019166000556119c6613660565b33614d2a565b346104bd5760003660031901126104bd576020601754604051908152f35b346104bd5760203660031901126104bd57600435611a07816106f7565b611a1c60018060a01b03600554163314613614565b611a24613660565b611a2d81614558565b6001600160a01b039091166000908152601060205260409020818155600a54600191909101556017548181039081116110e5576107b491611a7391601755601654613234565b601655565b346104bd5760003660031901126104bd576020600c54604051908152f35b346104bd5760003660031901126104bd5760405160025460009081611aba82610509565b80855291600181169081156106aa5750600114611ae1576106498461063d8186038261057a565b600281527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace939250905b808210611b245750909150810160200161063d8261062d565b919260018160209254838588010152019101909291611b0b565b346104bd5760203660031901126104bd576020611b606004356108da816106f7565b604051908152f35b346104bd5760003660031901126104bd576020601854604051908152f35b346104bd5760003660031901126104bd57602060ff600054166040519015158152f35b346104bd5760603660031901126104bd57600435611bc6816106f7565b602435906044359060005460ff8160101c16156108695762ff00001916600055604051637f4e225760e11b81526001600160a01b0382169190602081600481865afa90811561086457600091611dbb575b5015611dab57600554611c3490610987906001600160a01b031681565b604051638e8f294b60e01b81523060048201529190606083602481845afa92831561086457600093611d80575b50604051638e8f294b60e01b81526001600160a01b03909216600483015260609082908180602481015b03915afa9081156108645760ff918291600091611d4e575b5016911603611d3d57611cb4613660565b8215611d2c57803b156104bd576040516309a098d160e11b815233600482015260248101939093526000908390604490829084905af191821561086457611d0192611d17575b5033614631565b6107b46201000062ff0000196000541617600055565b806117bc6000611d269361057a565b38611cfa565b63162908e360e11b60005260046000fd5b631f33e8b760e21b60005260046000fd5b611d70915060603d606011611d79575b611d68818361057a565b81019061313b565b50905038611ca3565b503d611d5e565b606091935091611d9f611c8b93833d8511611d7957611d68818361057a565b50905093915091611c61565b62771b3360e91b60005260046000fd5b611dd4915060203d60201161085d5761084f818361057a565b38611c17565b346104bd57611de836610c84565b60005460181c6001600160a01b03169190823b156104bd57611e279260009283604051809681958294639fd5a6cf60e01b84528a30336004870161309f565b03925af1801561086457611e3f575b6107b482613c3a565b80611e4c6000809361057a565b8003126104bd5738611e36565b346104bd5760203660031901126104bd576004356000549060ff8260101c161561086957610d509162ff00001916600055610d4a613660565b346104bd5760003660031901126104bd576107b4613660565b346104bd5760403660031901126104bd57600435611ec8816106f7565b6024356000549060ff8260101c16156108695761064992610b769262ff000019166000553333613d0c565b346104bd5760003660031901126104bd576020600a54604051908152f35b346104bd5760003660031901126104bd57602060405160008152f35b346104bd5760003660031901126104bd57600654601254600b54600c54600854604051635c0b440b60e11b815260048101949094526024840192909252604483015260648201529060209082906001600160a01b03168180608481015b03915afa80156108645761064991600091611fb1575b506040519081529081906020820190565b611fca915060203d602011610ab057610aa1818361057a565b38611fa0565b60609060031901126104bd57600435611fe8816106f7565b90602435906044356105ee816106f7565b346104bd5761200736611fd0565b9190612011613660565b6001600160a01b03831690813b156104bd5760405163a6afed9560e01b815260009490858160048183885af1801561086457612564575b50601a546001600160a01b0316156125555781156125465760001982146125375760055461208090610987906001600160a01b031681565b803b1561253357856040518092632fe3f38f60e11b825281806120aa888b338a3060048701613ee8565b03915afa80156108645761251f575b5060145442036125105760405163cfa9920160e01b815260208160048189885af19081156108645786916124f1575b5042036124e2576001600160a01b03841633146124d3576121118261210c86614558565b613653565b7f1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a161213e84600b54613653565b6001600160a01b0387166000908152601060205260409020838155600a54600190910155600b819055601a54604080516001600160a01b03928316808252928a166020820152908101879052606081019490945260808401919091529160a090a160055486906121b890610987906001600160a01b031681565b91600a5492803b156124cf57604051631ededc9160e01b81523060048201526001600160a01b039283166024820152918816604483015260648201869052608482019390935291829060a490829084905af18015610864576124bb575b506122208282613241565b6040516370a0823160e01b81526001600160a01b0387166004820152919591602081602481895afa8015610864578791899161249c575b501061248d5785823087036124065760049260209261228792612281601a5460018060a01b031690565b30613f1a565b955b604051636f307dc360e01b815292839182905afa9081156108645787916123e7575b50601a546122c390610987906001600160a01b031681565b94853b156123e35760405163e666673360e01b81526001600160a01b038316600482015260248101869052604481018290529588908790606490829084905af19182156108645788967fe3f762e295827027f7f8027ee13bc285aef6d1e98ffb84b2f34a0c0bc4b9a582936123cf575b50604080513381526001600160a01b03868116602083015291810188905291166060820152608081019190915260a090a160055461237b90610987906001600160a01b031681565b91823b156123cb5784906123a8604051978896879586946347ef3b3b60e01b8652339030600488016148ef565b03925af18015610864576123ba575080f35b806117bc836123c89361057a565b80f35b8480fd5b806117bc896123dd9361057a565b38612333565b8780fd5b612400915060203d60201161187f57611871818361057a565b386122ab565b601a546040516316b8c1fb60e11b81526001600160a01b039182166004820152911660248201526044810191909152606481019190915260006084820181905260a482015260208160c4818a895af1908115610864576004916020918991612470575b5095612289565b6124879150823d8411610ab057610aa1818361057a565b38612469565b630e7a24eb60e11b8752600487fd5b6124b5915060203d602011610ab057610aa1818361057a565b38612257565b806117bc876124c99361057a565b38612215565b8280fd5b63039f861b60e51b8552600485fd5b633e88627b60e11b8552600485fd5b61250a915060203d602011610ab057610aa1818361057a565b386120e8565b63fbf3ea7960e01b8552600485fd5b806117bc8761252d9361057a565b386120b9565b8580fd5b63f72ef4e160e01b8552600485fd5b63b2f72f4760e01b8552600485fd5b63d6ab583160e01b8552600485fd5b856125719196929661057a565b9338612048565b346104bd5760003660031901126104bd5760035460081c6001600160a01b03163303610b12576000546040516370a0823160e01b815230600482015290602090829060181c6001600160a01b031681806024810103915afa8015610864576107b4916000916125e8575b50601255565b612601915060203d602011610ab057610aa1818361057a565b386125e2565b60e43590610c2f826106f7565b346104bd5760203660031901126104bd57600435612631816106f7565b60035460081c6001600160a01b03163303610b12576004546001600160a01b038216919082156126b2576001600160a01b03198116909217600455604080516001600160a01b0393841681529290911660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9919081908101610e59565b63e6c4247b60e01b60005260046000fd5b346104bd5760003660031901126104bd576020611b60613958565b346104bd5760203660031901126104bd576004356126fb816106f7565b6001600160a01b0381166000908152600e60205260409020549061271e90614558565b600754601154604080519485526020850193909352918301526060820152608090f35b346104bd5760203660031901126104bd576004356000549060ff8260101c161561086957610d509162ff0000191660005561277a613660565b33614631565b346104bd5760003660031901126104bd576020601454604051908152f35b9080601f830112156104bd578160206105ee93359101610c4d565b60ff8116036104bd57565b60c43590610c2f826127b9565b346104bd576101003660031901126104bd576004356127ef816106f7565b602435906127fc826106f7565b60443591612809836106f7565b6064359260843567ffffffffffffffff81116104bd5761282d90369060040161279e565b60a4359467ffffffffffffffff86116104bd576128516107b496369060040161279e565b9261285a6127c4565b94612863612607565b9661398f565b346104bd5760203660031901126104bd576004356000549060ff8260101c161561086957610be39162ff000019166000556128a2613660565b33614f94565b346104bd5760403660031901126104bd5760206129026004356128ca816106f7565b602435906128d7826106f7565b60018060a01b0316600052600f835260406000209060018060a01b0316600052602052604060002090565b54604051908152f35b346104bd5760003660031901126104bd576004546001600160a01b0381163314801590612a3a575b612a29576003547fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991907ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc906129a5906129989060081c6001600160a01b0316610987565b926001600160a01b031690565b60038054610100600160a81b031916600883901b610100600160a81b03161790556001600160a01b031691600480546001600160a01b0319169055600354604080516001600160a01b03938416815260089290921c9092166020820152a1600454604080516001600160a01b03938416815292909116602083015281908101610e59565b63d1ec4b2360e01b60005260046000fd5b503315612933565b346104bd5760003660031901126104bd576020604051655af3107a40008152f35b346104bd5760203660031901126104bd57600435612a80816106f7565b60035460081c6001600160a01b03163303610b1257612a9d613660565b6014544203612b4a576006546001600160a01b03169060046020612ac084610987565b6040516310c8fc9560e11b815292839182905afa90811561086457600091612b2b575b5015610e5e57600680546001600160a01b0319166001600160a01b0383161790557fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f92691611274565b612b44915060203d60201161085d5761084f818361057a565b38612ae3565b637b964b3b60e01b60005260046000fd5b346104bd5760003660031901126104bd576006546040516001600160a01b039091168152602090f35b346104bd57612b9236611fd0565b9091600091825460ff8160101c1615612f155762ff000019168355612bb5613660565b6001600160a01b03811693843b15612f115760405163a6afed9560e01b81528481600481838a5af1801561086457612efd575b50600554612c0090610987906001600160a01b031681565b803b156123cb57846040518092632fe3f38f60e11b82528180612c2a878a338b3060048701613ee8565b03915afa801561086457612ee9575b506014544203612eda5760405163cfa9920160e01b8152602081600481888a5af1908115610864578591612ebb575b504203612eac576001600160a01b0383163314612e9d578015612e8e576000198114612e7f57612c99908333614364565b90612ca48282613241565b6040516370a0823160e01b81526001600160a01b03861660048201529194916020816024818b5afa80156108645786918891612e60575b5010612e51578596959495308114600014612dd05750612cfe9086833330613f1a565b505b604080513381526001600160a01b0383811660208301529181018590529083166060820152608081018690527f298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb529060a090a1600554612d6990610987906001600160a01b031681565b91823b156123cb578490612d96604051978896879586946347ef3b3b60e01b8652339030600488016148ef565b03925af1801561086457612dbc575b506123c86201000062ff0000196000541617600055565b806117bc83612dca9361057a565b38612da5565b6040516316b8c1fb60e11b81523360048201526001600160a01b038416602482015260448101889052606481019290925260006084830181905260a48301529094602091869160c4918391905af1938415610864578694612e32575b50612d00565b612e4a9060203d602011610ab057610aa1818361057a565b5038612e2c565b630e7a24eb60e11b8652600486fd5b612e79915060203d602011610ab057610aa1818361057a565b38612cdb565b63f72ef4e160e01b8452600484fd5b63b2f72f4760e01b8452600484fd5b63039f861b60e51b8452600484fd5b633e88627b60e11b8452600484fd5b612ed4915060203d602011610ab057610aa1818361057a565b38612c68565b63fbf3ea7960e01b8452600484fd5b806117bc86612ef79361057a565b38612c39565b84612f0a9195929561057a565b9238612be8565b8380fd5b63b5dfd9e560e01b8452600484fd5b346104bd5760003660031901126104bd5760035460405160089190911c6001600160a01b03168152602090f35b346104bd5760003660031901126104bd57600654601254600b54600c546040516315f2405360e01b81526004810193909352602483019190915260448201529060209082906001600160a01b0316818060648101611f8a565b346104bd5760203660031901126104bd5760043560005460ff8160101c16156108695762ff0000191660005560035460081c6001600160a01b03163303610b1257612ff3613660565b601454420361305e57670de0b6b3a7640000811161304d5760088054908290556040805191825260208201929092527faaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f82146091819081016110bb565b631b9bc96960e11b60005260046000fd5b637b452e8160e11b60005260046000fd5b908160209103126104bd57516105ee81610e9b565b6040513d6000823e3d90fd5b908160209103126104bd575190565b6001600160a01b039182168152911660208201526040810191909152606081019190915260a0608082018190526105ee9291019061059c565b156130df57565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b908160609103126104bd57805161315181610e9b565b9160406020830151613162816127b9565b9201516105ee81610e9b565b519061ffff821682036104bd57565b908160609103126104bd57604051906060820182811067ffffffffffffffff821117610575576131ce9160409182526131b58161316e565b84526131c36020820161316e565b60208501520161316e565b604082015290565b634e487b7160e01b600052601160045260246000fd5b90655af3107a4000820291808304655af3107a400014901517156110e557565b818102929181159184041417156110e557565b90670de0b6b3a764000082018092116110e557565b919082018092116110e557565b60055490929061325b90610987906001600160a01b031681565b604051638e8f294b60e01b81523060048201529092606082602481875afa918215610864576000906000936135ba575b50156135a957604051638e8f294b60e01b81526001600160a01b038616600482015291606083602481885afa92831561086457600090600094613584575b50156135735760405163231d97a560e21b815290606082600481895afa91821561086457600092613542575b5060ff8061331761331261330b865161ffff1690565b61ffff1690565b6131ec565b95169116146134bd575b506040516312bdd04160e31b815230600482015291602083602481885afa9283156108645760009361349c575b506040516312bdd04160e31b81526001600160a01b038716600482015294602090869060249082905afa94851561086457600095613477575b5060405163182df0f560e01b81529495939493602090859060049082906001600160a01b03165afa928315610864578261343761344c9361343161342a61343d9861343d966105ee9b600092613452575b50613421906134056133e98761321f565b6133f1610c20565b9081526133fc610c20565b908382526142e2565b9561340e610c20565b908152613419610c20565b9182526142e2565b9c61340e610c20565b809261431b565b9961431b565b976148d5565b670de0b6b3a764000090510490565b946148d5565b6134219192506134709060203d602011610ab057610aa1818361057a565b91906133d8565b6004949550613494602091823d8411610ab057610aa1818361057a565b959450613387565b6134b691935060203d602011610ab057610aa1818361057a565b913861334e565b604051637f4e225760e11b815291925090602081600481305afa90811561086457600091613523575b506135085761331261330b604061350093015161ffff1690565b905b38613321565b61331261330b602061351d93015161ffff1690565b90613502565b61353c915060203d60201161085d5761084f818361057a565b386134e6565b61356591925060603d60601161356c575b61355d818361057a565b81019061317d565b90386132f5565b503d613553565b6331c5793560e01b60005260046000fd5b90506135a091935060603d606011611d7957611d68818361057a565b509290386132c9565b630172c17b60e01b60005260046000fd5b90506135d691925060603d606011611d7957611d68818361057a565b5091903861328b565b908160209103126104bd57516105ee816106f7565b81156135fe570490565b634e487b7160e01b600052601260045260246000fd5b1561361b57565b60405162461bcd60e51b815260206004820152601060248201526f37b7363c9031b7b6b83a3937b63632b960811b6044820152606490fd5b919082039182116110e557565b601454428114613955576136d990601254601654916017546136828185613234565b91600c5492600a5490601854926020866136a961098761098760065460018060a01b031690565b848a6040519d8e94859384936315f2405360e01b8552600485016040919493926060820195825260208201520152565b03915afa9889156108645760009961392e575b50601954849392600092918891906001600160a01b03168061389f575b5050508290429061371991613653565b998a613723610c20565b91825261372f916148d5565b6137398a826148d5565b51670de0b6b3a7640000900499613750908b613234565b976008548b61375d610c20565b918252613769916148d5565b51670de0b6b3a764000090049061377f91613234565b93613789916148d5565b51670de0b6b3a764000090049061379f91613234565b42601455986137ad8a600a55565b6137b687601655565b6137be610c20565b9182526137ca916148d5565b906137d585836148d5565b51670de0b6b3a76400009004946137ec9086613234565b94600854906137f9610c20565b918252613805916148d5565b51670de0b6b3a764000090049061381b91613234565b92613825916148d5565b51670de0b6b3a764000090049061383b91613234565b60185561384782601755565b600c5561385391613234565b61385c81600b55565b6040805192835260208301939093529181019290925260608201527f4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc0490608090a1565b6138ec96509293506020926138bc906001600160a01b0316610987565b908a604051978894859384936315f2405360e01b8552600485016040919493926060820195825260208201520152565b03915afa928315610864578493839160009161390f575b50919050863880613709565b613928915060203d602011610ab057610aa1818361057a565b38613903565b84939291995061394c9060203d602011610ab057610aa1818361057a565b989091926136ec565b50565b60005460ff8160101c16156108695762ff00001916600055613978613660565b600754906201000062ff0000196000541617600055565b96949290916139dc969492604d54986139c060ff8b60081c16151515809b81613a5a575b8115613a3a575b506130d8565b896139d3600160ff19604d541617604d55565b613a2157613a68565b6139e257565b6139f261ff0019604d5416604d55565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1565b613a3561010061ff0019604d541617604d55565b613a68565b303b15915081613a4c575b50386139ba565b60ff16600114905038613a45565b600160ff82161091506139b3565b60038054610100600160a81b03191660089990991b610100600160a81b0316989098179097559294939092909160145415801590613c2f575b613c1e5760075560075415613c0d57613bbd947fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926613ba0613bad957f7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d613b63613ba896613b15670de0b6b3a7640000601155565b613b2667016345785d8a0000600855565b600580546001600160a01b0319166001600160a01b0383161790555b60408051600081526001600160a01b03909216602083015290918291820190565b0390a1613b6f42601455565b613b80670de0b6b3a7640000600a55565b600680546001600160a01b0319166001600160a01b038316179055613b42565b0390a161497b565b614a64565b60ff1660ff196003541617600355565b613bd36201000062ff0000196000541617600055565b6001600160a01b038116156126b257600080546301000000600160b81b03191660189290921b6301000000600160b81b0316919091179055565b63a2ec3a5560e01b60005260046000fd5b634743547560e01b60005260046000fd5b50600a541515613aa1565b6000549060ff8260101c161561086957613c669162ff00001916600055613c5f613660565b3333614364565b906201000062ff0000196000541617600055565b60405163a9059cbb60e01b81526001600160a01b039092166004830152602482019290925260209060009060449082855af19081601f3d11600160005114161516613cff575b5015613cc857565b60405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606490fd5b3b153d1715905038613cc0565b600554613d2390610987906001600160a01b031681565b803b156104bd576040516317b9b84b60e31b81523060048201526001600160a01b0384811660248301528516604482015260648101869052906000908290608490829084905af1801561086457613ed3575b506001600160a01b038381169490831693848614613ec2576000805160206157fd83398151915293613e52936001600160a01b0381168703613e99576000195b613dbf8582613653565b93613e38613de987613de38760018060a01b0316600052600e602052604060002090565b54613653565b91613e1088613e0a8360018060a01b0316600052600e602052604060002090565b54613234565b6001600160a01b038781166000908152600e6020526040808220969096559216825292902090565b5519613e5a575b5050604051918252509081906020820190565b0390a3600090565b613e79613e909260018060a01b0316600052600f602052604060002090565b9060018060a01b0316600052602052604060002090565b55388080613e3f565b6001600160a01b0382166000908152600f60205260409020613ebc908290613e79565b54613db5565b638cd22d1960e01b60005260046000fd5b806117bc6000613ee29361057a565b38613d75565b6001600160a01b0391821681529181166020830152918216604082015291166060820152608081019190915260a00190565b9092939193600091613f3961098761098760055460018060a01b031690565b90813b15612f115786839287868094613f696040519788968795869463d02f735160e01b86523060048701613ee8565b03925af1801561086457614117575b506001600160a01b0384811693908616928385146141085750613fae90613f9d610c20565b90670429d069189e00008252614d11565b948582106140f757857fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc593613fe66105ee9885613653565b9661400761343d84613ff760075490565b613fff610c20565b9081526148d5565b9361407161405561401a87600c54613234565b9761402489600c55565b61403861403388600d54613653565b600d55565b6001600160a01b0384166000908152600e60205260409020613de3565b6001600160a01b039092166000908152600e6020526040902090565b5561409561405589613e0a8460018060a01b0316600052600e602052604060002090565b5585816000805160206157fd833981519152604051806140ba8c829190602083019252565b0390a360405191825230916000805160206157fd83398151915290602090a3604080513081526020810192909252810191909152606090a1615211565b632c3508cb60e21b60005260046000fd5b637a2d3db360e01b8152600490fd5b806117bc846141259361057a565b38613f78565b60055491959493929161414890610987906001600160a01b031681565b803b156104bd5782600091888387956141786040519788968795869463d02f735160e01b86523060048701613ee8565b03925af18015610864576142cd575b506001600160a01b0385811696908216938488146142bc5785156142aa57506141bb906141b2610c20565b90815283614d11565b8083106140f7577fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5936141ee8285613653565b966141ff61343d84613ff760075490565b9361421261405561401a87600c54613234565b5561423661405589613e0a8460018060a01b0316600052600e602052604060002090565b5587816000805160206157fd8339815191526040518061425b8c829190602083019252565b0390a360405191825230916000805160206157fd83398151915290602090a3604080513081526020810192909252810191909152606090a1156142a1576105ee91614f94565b6105ee91615211565b6142b79150613f9d610c20565b6141bb565b637a2d3db360e01b60005260046000fd5b806117bc60006142dc9361057a565b38614187565b670de0b6b3a7640000916143089160006040516142fe81610559565b525190519061320c565b046040519061431682610559565b815290565b600060405161432981610559565b5251670de0b6b3a7640000810290808204670de0b6b3a764000014901517156110e5576143579151906135f4565b6040519061431682610559565b60055490919061437e90610987906001600160a01b031681565b803b156104bd57604051631200453160e11b81523060048201526001600160a01b0384811660248301528316604482015260648101859052906000908290608490829084905af1801561086457614543575b506014544203614532577f1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a161442161441a61441461440d85614558565b8097615482565b85615494565b8095613653565b61442d85600b54613653565b908061444b8560018060a01b03166000526010602052604060002090565b55600a546001600160a01b03851660009081526010602052604090206001015561447482600b55565b604080516001600160a01b038781168252861660208201529081018790526060810191909152608081019190915260a090a16005546144bd90610987906001600160a01b031681565b91600a5492803b156104bd57604051631ededc9160e01b81523060048201526001600160a01b039283166024820152919092166044820152606481018490526084810192909252600090829081838160a481015b03925af1801561086457614523575090565b806117bc60006105ee9361057a565b63c714a2d560e01b60005260046000fd5b806117bc60006145529361057a565b386143d0565b6001600160a01b03811660009081526010602052604090208054918215614629576005546145c49160209161459790610987906001600160a01b031681565b604051631c66f3bf60e11b81526001600160a01b0390921660048301529092839190829081906024820190565b03915afa9081156108645760009161460a575b50156145f85760016145ef6105ee936018549061320c565b910154906135f4565b60016145ef6105ee93600a549061320c565b614623915060203d60201161085d5761084f818361057a565b386145d7565b505050600090565b60055461464890610987906001600160a01b031681565b803b156104bd5760405163368f515360e21b81523060048201526001600160a01b03831660248201526044810184905260009182908290606490829084905af18015610864576148c1575b5060145442036148b257506001600160a01b0381166146ba836146b583614558565b613234565b6146c684600b54613234565b6005549091906146e090610987906001600160a01b031681565b604051631c66f3bf60e11b81526001600160a01b038616600482015290602090829060249082905afa938415610864577f13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80946147c992600091614893575b506001600160a01b038716600090815260106020526040902084905515614860576018546001600160a01b03871660009081526010602052604090206001015561478d61198888601754613234565b61479684600b55565b6147a56116846015548961320c565b906147c46147bf6147b6848b613653565b93600c54613234565b600c55565b6155b6565b604080516001600160a01b038616815260208101879052908101919091526060810191909152608090a160055461480a90610987906001600160a01b031681565b91823b156104bd57604051631407e28160e01b81526001600160a01b039290921660048301526024820152906000908290604490829084905af18015610864576148515750565b806117bc6000610c2f9361057a565b600a546001600160a01b03871660009081526010602052604090206001015561488e611a7388601654613234565b61478d565b6148ac915060203d60201161085d5761084f818361057a565b3861473e565b630a42bc3960e41b8152600490fd5b806117bc836148cf9361057a565b38614693565b906143579160006040516148e881610559565b525161320c565b6001600160a01b0391821681529181166020830152918216604082015291166060820152608081019190915260a081019190915260c00190565b601f821161493657505050565b6000526020600020906020601f840160051c83019310614971575b601f0160051c01905b818110614965575050565b6000815560010161495a565b9091508190614951565b90815167ffffffffffffffff8111610575576149a38161499c600154610509565b6001614929565b602092601f82116001146149e5576149d5929382916000926149da575b50508160011b916000199060031b1c19161790565b600155565b0151905038806149c0565b6001600052601f198216937fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf69160005b868110614a4c5750836001959610614a33575b505050811b01600155565b015160001960f88460031b161c19169055388080614a28565b91926020600181928685015181550194019201614a15565b90815167ffffffffffffffff811161057557614a8c81614a85600254610509565b6002614929565b602092601f8211600114614ac257614abd929382916000926149da5750508160011b916000199060031b1c19161790565b600255565b6002600052601f198216937f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9160005b868110614b295750836001959610614b10575b505050811b01600255565b015160001960f88460031b161c19169055388080614b05565b91926020600181928685015181550194019201614af2565b6001600160a01b039182168152911660208201526040810191909152606081019190915260800190565b90614b7560075490565b90614b7e610c20565b828152600554909290614b9b90610987906001600160a01b031681565b803b156104bd57604051635bca9add60e01b8152916000918391829084908290614bcb90898c3060048601614b41565b03925af1801561086457614cfc575b506014544203614ceb57614bee9083615494565b906103e8821115614cda57614c0390826157d0565b908115614cc957817f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f91614c3c61403383600d54613234565b6001600160a01b0385166000908152600e60205260409020614c5f908390613e0a565b6001600160a01b0386166000908152600e6020526040902055604080516001600160a01b0387168152602081019290925281019190915280606081010390a16040519081526001600160a01b03919091169030906000805160206157fd83398151915290602090a3565b634f87e6f560e01b60005260046000fd5b6310deaa5960e01b60005260046000fd5b633393b25760e01b60005260046000fd5b806117bc6000614d0b9361057a565b38614bda565b614d2690670de0b6b3a764000092519061320c565b0490565b600754614d35610c20565b908152614d4281846157d0565b9081614d608460018060a01b0316600052600e602052604060002090565b5403614f5f575b600554614d7e90610987906001600160a01b031681565b905190803b156104bd576040516317c4196b60e11b8152916000918391829084908290614db190898b3060048601614b41565b03925af1801561086457614f4a575b506014544203614f3957600091614ddc61403383600d54613653565b6001600160a01b0381166000908152600e60205260409020614dff908390613de3565b6001600160a01b0382166000908152600e60205260409020819055151580614f14575b614f05576001600160a01b038116614e3a85826156dc565b6040518381523091906000805160206157fd8339815191529080602081015b0390a3604080516001600160a01b0383168152602081018690529081018390527fe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a92990606090a1600554614eb690610987906001600160a01b031681565b90813b15612f11579183918583614ee595604051968795869485936351dff98960e01b85523060048601614b41565b03925af1801561086457614ef857505090565b6117bc6105ee928261057a565b6330a46c4960e21b8352600483fd5b506001600160a01b0381166000908152600e602052604090206103e890541115614e22565b63a17754ef60e01b60005260046000fd5b806117bc6000614f599361057a565b38614dc0565b6103e8821115614f83576103e88411614d6757632005234160e01b60005260046000fd5b63d1b61f5160e01b60005260046000fd5b81151591906000838061520a575b6151fb5760075493614fb2610c20565b948552156151e757614fc761343d84866148d5565b935b6001600160a01b0383166000908152600e60205260409020849054036151b6575b60055461500190610987906001600160a01b031681565b9051813b156124cf57615030839283926040519485809481936317c4196b60e11b83528b8b3060048601614b41565b03925af18015610864576151a2575b506014544203615193575061505961403383600d54613653565b6001600160a01b0381166000908152600e6020526040902061507c908390613de3565b6001600160a01b0382166000908152600e6020526040902081905515158061516e575b61515d576001600160a01b0381166150b784826156dc565b6040518381523091906000805160206157fd83398151915290602090a3604080516001600160a01b0383168152602081018590529081018390527fe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a92990606090a160055461512e90610987906001600160a01b031681565b91823b156104bd57614511928460008094604051968795869485936351dff98960e01b85523060048601614b41565b6330a46c4960e21b60005260046000fd5b506001600160a01b0381166000908152600e602052604090206103e89054111561509f565b63a17754ef60e01b8152600490fd5b806117bc836151b09361057a565b3861503f565b6103e88411156151d8576103e88511614fea57632005234160e01b8252600482fd5b63d1b61f5160e01b8252600482fd5b91506151f383836157d0565b918093614fc9565b63431f269d60e01b8152600490fd5b5080614fa2565b81151591600083806153c8575b6151fb576007549361522e610c20565b948552156153b45761524361343d83866148d5565b935b6001600160a01b0384166000908152600e6020526040902083905403615392575b60055461527d90610987906001600160a01b031681565b9051813b156124cf576152ac839283926040519485809481936317c4196b60e11b83528a8c3060048601614b41565b03925af180156108645761537e575b50601454420361519357506152d561403382600d54613653565b6001600160a01b0382166000908152600e602052604090206152f8908290613de3565b6001600160a01b0383166000908152600e60205260409020819055151580615359575b61515d5760009161532c84826153cf565b60405182815230906001600160a01b038316906000805160206157fd833981519152908060208101614e59565b506001600160a01b0382166000908152600e602052604090206103e89054111561531b565b806117bc8361538c9361057a565b386152bb565b6103e88311156151d8576103e8851161526657632005234160e01b8252600482fd5b90506153c083826157d0565b908093615245565b508061521e565b6000546153e9906109879060181c6001600160a01b031681565b91823b156104bd576040516340c10f1960e01b81526001600160a01b039290921660048301526024820152906000908290604490829084905af180156108645761546d575b503d80156154645760201461544257600080fd5b60206000803e6000515b1561545357565b637308799360e11b60005260046000fd5b5060001961544c565b806117bc600061547c9361057a565b3861542e565b908082101561548f575090565b905090565b6000546154ae906109879060181c6001600160a01b031681565b803b156104bd5760405163079cc67960e41b81526001600160a01b03929092166004830152602482018390526000908290604490829084905af1801561086457615533575b503d801561552a5760201461550757600080fd5b60206000803e6000515b156155195790565b63065559c560e51b60005260046000fd5b50600019615511565b806117bc60006155429361057a565b386154f3565b3d15615573573d9061555982610c31565b91615567604051938461057a565b82523d6000602084013e565b606090565b919392606083019460028310156155a0576040928452602084015260018060a01b0316910152565b634e487b7160e01b600052602160045260246000fd5b60055460049291906020906155d590610987906001600160a01b031681565b6040516334cc866d60e21b815294859182905afa928315610864576000936156bb575b506040516379befbd160e01b602082019081526024820184905260009182919061562f81604481015b03601f19810183528261057a565b519082875af161563d615548565b501561565657610c2f92506001600160a01b03166153cf565b615692926020926001600160a01b039091169061567381836153cf565b6000604051809681958294633033674760e11b84528460048501615578565b03925af18015610864576156a35750565b6139559060203d602011610ab057610aa1818361057a565b6156d591935060203d60201161187f57611871818361057a565b91386155f8565b90600491600060206156fb61098761098760055460018060a01b031690565b6040516334cc866d60e21b815295869182905afa9384156108645781946157af575b506040516379befbd160e01b602082019081526024820185905282918291906157498160448101615621565b519082885af1615757615548565b50156157715750610c2f92506001600160a01b03166153cf565b615692936020936001600160a01b039091169161578e82846153cf565b506000604051809681958294633033674760e11b8452600160048501615578565b6157c991945060203d60201161187f57611871818361057a565b923861571d565b670de0b6b3a7640000810290808204670de0b6b3a764000014901517156110e5576105ee9151906135f456feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e5d4f595e34cfaada3ddf3c16153902bcd016040eed553204755c4b0b69cd54b64736f6c634300081a0033";
2285
+ const isSuperArgs = (xs) => xs.length > 1;
2286
+ class CsuErc20V2__factory extends ethers_1.ContractFactory {
2287
+ constructor(...args) {
2288
+ if (isSuperArgs(args)) {
2289
+ super(...args);
2290
+ }
2291
+ else {
2292
+ super(_abi, _bytecode, args[0]);
2293
+ }
2294
+ }
2295
+ getDeployTransaction(overrides) {
2296
+ return super.getDeployTransaction(overrides || {});
2297
+ }
2298
+ deploy(overrides) {
2299
+ return super.deploy(overrides || {});
2300
+ }
2301
+ connect(runner) {
2302
+ return super.connect(runner);
2303
+ }
2304
+ static createInterface() {
2305
+ return new ethers_1.Interface(_abi);
2306
+ }
2307
+ static connect(address, runner) {
2308
+ return new ethers_1.Contract(address, _abi, runner);
2309
+ }
2310
+ }
2311
+ exports.CsuErc20V2__factory = CsuErc20V2__factory;
2312
+ CsuErc20V2__factory.bytecode = _bytecode;
2313
+ CsuErc20V2__factory.abi = _abi;
2314
+ //# sourceMappingURL=CsuErc20V2__factory.js.map