@meterio/sumer-js 0.1.30 → 0.1.32

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 (115) hide show
  1. package/dist/browser/sumer.min.js +10 -10
  2. package/dist/nodejs/abi.d.ts +110 -12
  3. package/dist/nodejs/abi.js +6227 -4641
  4. package/dist/nodejs/abi.js.map +1 -1
  5. package/dist/nodejs/comptroller.d.ts +1 -1
  6. package/dist/nodejs/comptroller.js +17 -22
  7. package/dist/nodejs/comptroller.js.map +1 -1
  8. package/dist/nodejs/errors.d.ts +100 -0
  9. package/dist/nodejs/errors.js +100 -0
  10. package/dist/nodejs/errors.js.map +1 -1
  11. package/dist/nodejs/index.d.ts +210 -12
  12. package/dist/nodejs/typechain/contracts/Comptroller/Comptroller.d.ts +21 -175
  13. package/dist/nodejs/typechain/contracts/Comptroller/RedemptionManager.d.ts +123 -84
  14. package/dist/nodejs/typechain/contracts/Interfaces/IComptroller.d.ts +13 -84
  15. package/dist/nodejs/typechain/contracts/Interfaces/IRedemptionManager.d.ts +49 -51
  16. package/dist/nodejs/typechain/contracts/Interfaces/ITimelock.d.ts +46 -49
  17. package/dist/nodejs/typechain/contracts/Library/RateLimiter.d.ts +66 -0
  18. package/dist/nodejs/typechain/contracts/Library/RateLimiter.js +3 -0
  19. package/dist/nodejs/typechain/contracts/Library/RateLimiter.js.map +1 -0
  20. package/dist/nodejs/typechain/contracts/Library/index.d.ts +1 -0
  21. package/dist/nodejs/typechain/contracts/Library/index.js +3 -0
  22. package/dist/nodejs/typechain/contracts/Library/index.js.map +1 -0
  23. package/dist/nodejs/typechain/contracts/Oracle/FeedPriceOracle.d.ts +1 -9
  24. package/dist/nodejs/typechain/contracts/Oracle/FeedPriceOracleSafe.d.ts +1 -9
  25. package/dist/nodejs/typechain/contracts/Timelock.d.ts +515 -0
  26. package/dist/nodejs/typechain/contracts/Timelock.js +3 -0
  27. package/dist/nodejs/typechain/contracts/Timelock.js.map +1 -0
  28. package/dist/nodejs/typechain/contracts/index.d.ts +3 -2
  29. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.d.ts +1 -1
  30. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.js +1 -1
  31. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +1 -1
  32. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.js +1 -1
  33. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +1 -1
  34. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.js +1 -1
  35. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.d.ts +65 -1
  36. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.js +81 -1
  37. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.js.map +1 -1
  38. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.d.ts +65 -1
  39. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.js +81 -1
  40. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.js.map +1 -1
  41. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.d.ts +64 -0
  42. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.js +80 -0
  43. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.js.map +1 -1
  44. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.d.ts +65 -1
  45. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.js +81 -1
  46. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.js.map +1 -1
  47. package/dist/nodejs/typechain/factories/contracts/Comptroller/AccountLiquidity__factory.d.ts +313 -1
  48. package/dist/nodejs/typechain/factories/contracts/Comptroller/AccountLiquidity__factory.js +392 -1
  49. package/dist/nodejs/typechain/factories/contracts/Comptroller/AccountLiquidity__factory.js.map +1 -1
  50. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.d.ts +1 -1
  51. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.js +1 -1
  52. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.d.ts +65 -1
  53. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.js +81 -1
  54. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.js.map +1 -1
  55. package/dist/nodejs/typechain/factories/contracts/Comptroller/ComptrollerStorage__factory.d.ts +1 -1
  56. package/dist/nodejs/typechain/factories/contracts/Comptroller/ComptrollerStorage__factory.js +1 -1
  57. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.d.ts +93 -272
  58. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.js +117 -348
  59. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.js.map +1 -1
  60. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.d.ts +483 -87
  61. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.js +600 -102
  62. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.js.map +1 -1
  63. package/dist/nodejs/typechain/factories/contracts/Comptroller/SortedBorrows__factory.d.ts +1 -1
  64. package/dist/nodejs/typechain/factories/contracts/Comptroller/SortedBorrows__factory.js +1 -1
  65. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.d.ts +19 -91
  66. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.js +24 -114
  67. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.js.map +1 -1
  68. package/dist/nodejs/typechain/factories/contracts/Interfaces/IRedemptionManager__factory.d.ts +62 -56
  69. package/dist/nodejs/typechain/factories/contracts/Interfaces/IRedemptionManager__factory.js +68 -63
  70. package/dist/nodejs/typechain/factories/contracts/Interfaces/IRedemptionManager__factory.js.map +1 -1
  71. package/dist/nodejs/typechain/factories/contracts/Interfaces/ITimelock__factory.d.ts +34 -47
  72. package/dist/nodejs/typechain/factories/contracts/Interfaces/ITimelock__factory.js +37 -54
  73. package/dist/nodejs/typechain/factories/contracts/Interfaces/ITimelock__factory.js.map +1 -1
  74. package/dist/nodejs/typechain/factories/contracts/Library/RateLimiter__factory.d.ts +165 -0
  75. package/dist/nodejs/typechain/factories/contracts/Library/RateLimiter__factory.js +228 -0
  76. package/dist/nodejs/typechain/factories/contracts/Library/RateLimiter__factory.js.map +1 -0
  77. package/dist/nodejs/typechain/factories/contracts/Library/index.d.ts +1 -0
  78. package/dist/nodejs/typechain/factories/contracts/Library/index.js +9 -0
  79. package/dist/nodejs/typechain/factories/contracts/Library/index.js.map +1 -0
  80. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracleSafe__factory.d.ts +1 -15
  81. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracleSafe__factory.js +1 -20
  82. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracleSafe__factory.js.map +1 -1
  83. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.d.ts +1 -15
  84. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.js +1 -20
  85. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.js.map +1 -1
  86. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.d.ts +65 -1
  87. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.js +81 -1
  88. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.js.map +1 -1
  89. package/dist/nodejs/typechain/factories/contracts/Timelock.sol/Timelock__factory.d.ts +1 -1
  90. package/dist/nodejs/typechain/factories/contracts/Timelock.sol/Timelock__factory.js +1 -1
  91. package/dist/nodejs/typechain/factories/contracts/Timelock.sol/Timelock__factory.js.map +1 -1
  92. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.d.ts +989 -0
  93. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.js +1277 -0
  94. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.js.map +1 -0
  95. package/dist/nodejs/typechain/factories/contracts/index.d.ts +2 -1
  96. package/dist/nodejs/typechain/factories/contracts/index.js +4 -2
  97. package/dist/nodejs/typechain/factories/contracts/index.js.map +1 -1
  98. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxyAdmin__factory.d.ts +1 -1
  99. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxyAdmin__factory.js +1 -1
  100. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxy__factory.d.ts +1 -1
  101. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxy__factory.js +1 -1
  102. package/dist/nodejs/typechain/factories/contracts/stake/CommunalFarm__factory.d.ts +1 -1
  103. package/dist/nodejs/typechain/factories/contracts/stake/CommunalFarm__factory.js +1 -1
  104. package/dist/nodejs/typechain/factories/contracts/stake/FraxGaugeFXSRewardsDistributor__factory.d.ts +1 -1
  105. package/dist/nodejs/typechain/factories/contracts/stake/FraxGaugeFXSRewardsDistributor__factory.js +1 -1
  106. package/dist/nodejs/typechain/factories/contracts/stake/StakingRewardsMultiGauge__factory.d.ts +1 -1
  107. package/dist/nodejs/typechain/factories/contracts/stake/StakingRewardsMultiGauge__factory.js +1 -1
  108. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.d.ts +1 -1
  109. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.js +1 -1
  110. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.js.map +1 -1
  111. package/dist/nodejs/typechain/hardhat.d.ts +18 -18
  112. package/dist/nodejs/typechain/index.d.ts +4 -2
  113. package/dist/nodejs/typechain/index.js +5 -3
  114. package/dist/nodejs/typechain/index.js.map +1 -1
  115. package/package.json +1 -1
@@ -6,9 +6,406 @@ exports.RedemptionManager__factory = void 0;
6
6
  /* eslint-disable */
7
7
  const ethers_1 = require("ethers");
8
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: "CantExitMarketWithNonZeroBorrowBalance",
58
+ type: "error",
59
+ },
60
+ {
61
+ inputs: [],
62
+ name: "CantSweepUnderlying",
63
+ type: "error",
64
+ },
65
+ {
66
+ inputs: [],
67
+ name: "ComptrollerMismatch",
68
+ type: "error",
69
+ },
70
+ {
71
+ inputs: [],
72
+ name: "GroupIdMismatch",
73
+ type: "error",
74
+ },
75
+ {
76
+ inputs: [],
77
+ name: "InsufficientCollateral",
78
+ type: "error",
79
+ },
80
+ {
81
+ inputs: [],
82
+ name: "InsufficientShortfall",
83
+ type: "error",
84
+ },
85
+ {
86
+ inputs: [],
87
+ name: "InvalidAddress",
88
+ type: "error",
89
+ },
90
+ {
91
+ inputs: [],
92
+ name: "InvalidAmount",
93
+ type: "error",
94
+ },
95
+ {
96
+ inputs: [],
97
+ name: "InvalidCloseFactor",
98
+ type: "error",
99
+ },
100
+ {
101
+ inputs: [],
102
+ name: "InvalidComptroller",
103
+ type: "error",
104
+ },
105
+ {
106
+ inputs: [],
107
+ name: "InvalidDiscountRate",
108
+ type: "error",
109
+ },
110
+ {
111
+ inputs: [],
112
+ name: "InvalidExchangeRate",
113
+ type: "error",
114
+ },
115
+ {
116
+ inputs: [],
117
+ name: "InvalidGroupId",
118
+ type: "error",
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: "InvalidInput",
123
+ type: "error",
124
+ },
125
+ {
126
+ inputs: [],
127
+ name: "InvalidInterestRateModel",
128
+ type: "error",
129
+ },
130
+ {
131
+ inputs: [],
132
+ name: "InvalidMinSuBorrowValue",
133
+ type: "error",
134
+ },
135
+ {
136
+ inputs: [],
137
+ name: "InvalidReduceAmount",
138
+ type: "error",
139
+ },
140
+ {
141
+ inputs: [],
142
+ name: "InvalidReserveFactor",
143
+ type: "error",
144
+ },
145
+ {
146
+ inputs: [],
147
+ name: "InvalidSignatureForRedeemFaceValue",
148
+ type: "error",
149
+ },
150
+ {
151
+ inputs: [],
152
+ name: "InvalidSignatureLength",
153
+ type: "error",
154
+ },
155
+ {
156
+ inputs: [],
157
+ name: "InvalidSuToken",
158
+ type: "error",
159
+ },
160
+ {
161
+ inputs: [],
162
+ name: "LiquidateBorrow_LiquidatorIsBorrower",
163
+ type: "error",
164
+ },
165
+ {
166
+ inputs: [],
167
+ name: "LiquidateBorrow_RepayAmountIsMax",
168
+ type: "error",
169
+ },
170
+ {
171
+ inputs: [],
172
+ name: "LiquidateBorrow_RepayAmountIsZero",
173
+ type: "error",
174
+ },
175
+ {
176
+ inputs: [],
177
+ name: "LiquidateBorrow_SeizeTooMuch",
178
+ type: "error",
179
+ },
180
+ {
181
+ inputs: [],
182
+ name: "LiquidateCollateralMarketNotFresh",
183
+ type: "error",
184
+ },
185
+ {
186
+ inputs: [],
187
+ name: "LiquidateMarketNotFresh",
188
+ type: "error",
189
+ },
190
+ {
191
+ inputs: [],
192
+ name: "MarketAlreadyListed",
193
+ type: "error",
194
+ },
195
+ {
196
+ inputs: [],
197
+ name: "MarketCanOnlyInitializeOnce",
198
+ type: "error",
199
+ },
200
+ {
201
+ inputs: [],
202
+ name: "MarketNotListed",
203
+ type: "error",
204
+ },
205
+ {
206
+ inputs: [],
207
+ name: "MintMarketNotFresh",
208
+ type: "error",
209
+ },
210
+ {
211
+ inputs: [],
212
+ name: "MintPaused",
213
+ type: "error",
214
+ },
215
+ {
216
+ inputs: [],
217
+ name: "NoRedemptionProvider",
218
+ type: "error",
219
+ },
220
+ {
221
+ inputs: [],
222
+ name: "NotCToken",
223
+ type: "error",
224
+ },
225
+ {
226
+ inputs: [],
227
+ name: "NotSuToken",
228
+ type: "error",
229
+ },
230
+ {
231
+ inputs: [],
232
+ name: "OneOfNetAssetAndNetDebtMustBeZero",
233
+ type: "error",
234
+ },
235
+ {
236
+ inputs: [],
237
+ name: "OneOfRedeemTokensAndRedeemAmountMustBeZero",
238
+ type: "error",
239
+ },
240
+ {
241
+ inputs: [],
242
+ name: "OnlyAdmin",
243
+ type: "error",
244
+ },
245
+ {
246
+ inputs: [],
247
+ name: "OnlyAdminOrCapper",
248
+ type: "error",
249
+ },
250
+ {
251
+ inputs: [],
252
+ name: "OnlyAdminOrPauser",
253
+ type: "error",
254
+ },
255
+ {
256
+ inputs: [],
257
+ name: "OnlyCToken",
258
+ type: "error",
259
+ },
260
+ {
261
+ inputs: [],
262
+ name: "OnlyComptroller",
263
+ type: "error",
264
+ },
265
+ {
266
+ inputs: [],
267
+ name: "OnlyListedCToken",
268
+ type: "error",
269
+ },
270
+ {
271
+ inputs: [],
272
+ name: "OnlyPendingAdmin",
273
+ type: "error",
274
+ },
275
+ {
276
+ inputs: [],
277
+ name: "PriceError",
278
+ type: "error",
279
+ },
280
+ {
281
+ inputs: [],
282
+ name: "ProtectedMint_OnlyAllowAssetsInTheSameGroup",
283
+ type: "error",
284
+ },
285
+ {
286
+ inputs: [],
287
+ name: "ProtocolIsPaused",
288
+ type: "error",
289
+ },
290
+ {
291
+ inputs: [],
292
+ name: "RedeemAndTransferMarketNotFresh",
293
+ type: "error",
294
+ },
295
+ {
296
+ inputs: [],
297
+ name: "RedeemAndTransfer_AmountIsZero",
298
+ type: "error",
299
+ },
300
+ {
301
+ inputs: [],
302
+ name: "RedeemMarketNotFresh",
303
+ type: "error",
304
+ },
305
+ {
306
+ inputs: [],
307
+ name: "RedeemTransferOutNotPossible",
308
+ type: "error",
309
+ },
310
+ {
311
+ inputs: [],
312
+ name: "RedemptionSeizeTooMuch",
313
+ type: "error",
314
+ },
315
+ {
316
+ inputs: [],
317
+ name: "ReduceReservesCashNotAvailable",
318
+ type: "error",
319
+ },
320
+ {
321
+ inputs: [],
322
+ name: "ReduceReservesMarketNotFresh",
323
+ type: "error",
324
+ },
325
+ {
326
+ inputs: [],
327
+ name: "ReduceReservesOverflow",
328
+ type: "error",
329
+ },
330
+ {
331
+ inputs: [],
332
+ name: "RepayBorrowMarketNotFresh",
333
+ type: "error",
334
+ },
335
+ {
336
+ inputs: [],
337
+ name: "SeizePaused",
338
+ type: "error",
339
+ },
340
+ {
341
+ inputs: [],
342
+ name: "Seize_LiquidatorIsBorrower",
343
+ type: "error",
344
+ },
345
+ {
346
+ inputs: [],
347
+ name: "SenderMustBeCToken",
348
+ type: "error",
349
+ },
350
+ {
351
+ inputs: [],
352
+ name: "SetInterestRateModelMarketNotFresh",
353
+ type: "error",
354
+ },
355
+ {
356
+ inputs: [],
357
+ name: "SetReservesFactorMarketNotFresh",
358
+ type: "error",
359
+ },
360
+ {
361
+ inputs: [],
362
+ name: "SupplyCapReached",
363
+ type: "error",
364
+ },
365
+ {
366
+ inputs: [],
367
+ name: "TokenInOrAmountInMustBeZero",
368
+ type: "error",
369
+ },
370
+ {
371
+ inputs: [],
372
+ name: "TokenTransferInFailed",
373
+ type: "error",
374
+ },
375
+ {
376
+ inputs: [],
377
+ name: "TokenTransferOutFailed",
378
+ type: "error",
379
+ },
380
+ {
381
+ inputs: [],
382
+ name: "TooMuchRepay",
383
+ type: "error",
384
+ },
385
+ {
386
+ inputs: [],
387
+ name: "TransferNotAllowed",
388
+ type: "error",
389
+ },
390
+ {
391
+ inputs: [],
392
+ name: "TransferPaused",
393
+ type: "error",
394
+ },
395
+ {
396
+ inputs: [],
397
+ name: "UnderlyingBalanceError",
398
+ type: "error",
399
+ },
9
400
  {
10
401
  anonymous: false,
11
402
  inputs: [
403
+ {
404
+ indexed: false,
405
+ internalType: "address",
406
+ name: "asset",
407
+ type: "address",
408
+ },
12
409
  {
13
410
  indexed: false,
14
411
  internalType: "uint256",
@@ -35,6 +432,12 @@ const _abi = [
35
432
  {
36
433
  anonymous: false,
37
434
  inputs: [
435
+ {
436
+ indexed: false,
437
+ internalType: "address",
438
+ name: "asset",
439
+ type: "address",
440
+ },
38
441
  {
39
442
  indexed: false,
40
443
  internalType: "uint256",
@@ -211,6 +614,19 @@ const _abi = [
211
614
  stateMutability: "view",
212
615
  type: "function",
213
616
  },
617
+ {
618
+ inputs: [],
619
+ name: "_redeemFaceValueSigner",
620
+ outputs: [
621
+ {
622
+ internalType: "address",
623
+ name: "",
624
+ type: "address",
625
+ },
626
+ ],
627
+ stateMutability: "view",
628
+ type: "function",
629
+ },
214
630
  {
215
631
  inputs: [],
216
632
  name: "baseRate",
@@ -224,6 +640,25 @@ const _abi = [
224
640
  stateMutability: "view",
225
641
  type: "function",
226
642
  },
643
+ {
644
+ inputs: [
645
+ {
646
+ internalType: "address",
647
+ name: "",
648
+ type: "address",
649
+ },
650
+ ],
651
+ name: "baseRateMap",
652
+ outputs: [
653
+ {
654
+ internalType: "uint256",
655
+ name: "",
656
+ type: "uint256",
657
+ },
658
+ ],
659
+ stateMutability: "view",
660
+ type: "function",
661
+ },
227
662
  {
228
663
  inputs: [
229
664
  {
@@ -246,11 +681,6 @@ const _abi = [
246
681
  name: "suToken",
247
682
  type: "address",
248
683
  },
249
- {
250
- internalType: "contract IPriceOracle",
251
- name: "oracle",
252
- type: "address",
253
- },
254
684
  ],
255
685
  name: "calcActualRepayAndSeize",
256
686
  outputs: [
@@ -291,59 +721,38 @@ const _abi = [
291
721
  stateMutability: "view",
292
722
  type: "function",
293
723
  },
294
- {
295
- inputs: [],
296
- name: "decayBaseRateFromBorrowing",
297
- outputs: [],
298
- stateMutability: "nonpayable",
299
- type: "function",
300
- },
301
724
  {
302
725
  inputs: [
303
726
  {
304
727
  internalType: "address",
305
- name: "_asset",
306
- type: "address",
307
- },
308
- ],
309
- name: "getFirstProvider",
310
- outputs: [
311
- {
312
- internalType: "address",
313
- name: "",
728
+ name: "asset",
314
729
  type: "address",
315
730
  },
316
731
  ],
317
- stateMutability: "view",
732
+ name: "decayBaseRateFromBorrowing",
733
+ outputs: [],
734
+ stateMutability: "nonpayable",
318
735
  type: "function",
319
736
  },
320
737
  {
321
738
  inputs: [
322
739
  {
323
740
  internalType: "address",
324
- name: "_asset",
741
+ name: "asset",
325
742
  type: "address",
326
743
  },
327
744
  {
328
- internalType: "address",
329
- name: "_id",
330
- type: "address",
745
+ internalType: "uint256",
746
+ name: "redeemAmount",
747
+ type: "uint256",
331
748
  },
332
- ],
333
- name: "getNextProvider",
334
- outputs: [
335
749
  {
336
- internalType: "address",
337
- name: "",
338
- type: "address",
750
+ internalType: "uint256",
751
+ name: "_totalSupply",
752
+ type: "uint256",
339
753
  },
340
754
  ],
341
- stateMutability: "view",
342
- type: "function",
343
- },
344
- {
345
- inputs: [],
346
- name: "getRedemptionRate",
755
+ name: "getCurrentRedemptionRate",
347
756
  outputs: [
348
757
  {
349
758
  internalType: "uint256",
@@ -355,8 +764,14 @@ const _abi = [
355
764
  type: "function",
356
765
  },
357
766
  {
358
- inputs: [],
359
- name: "getRedemptionRateWithDecay",
767
+ inputs: [
768
+ {
769
+ internalType: "address",
770
+ name: "asset",
771
+ type: "address",
772
+ },
773
+ ],
774
+ name: "getRedemptionRate",
360
775
  outputs: [
361
776
  {
362
777
  internalType: "uint256",
@@ -449,13 +864,18 @@ const _abi = [
449
864
  },
450
865
  {
451
866
  inputs: [
867
+ {
868
+ internalType: "bytes32",
869
+ name: "role",
870
+ type: "bytes32",
871
+ },
452
872
  {
453
873
  internalType: "address",
454
- name: "_asset",
874
+ name: "account",
455
875
  type: "address",
456
876
  },
457
877
  ],
458
- name: "hasNoProvider",
878
+ name: "hasRole",
459
879
  outputs: [
460
880
  {
461
881
  internalType: "bool",
@@ -469,22 +889,43 @@ const _abi = [
469
889
  {
470
890
  inputs: [
471
891
  {
472
- internalType: "bytes32",
473
- name: "role",
474
- type: "bytes32",
892
+ internalType: "address",
893
+ name: "_admin",
894
+ type: "address",
895
+ },
896
+ ],
897
+ name: "initialize",
898
+ outputs: [],
899
+ stateMutability: "nonpayable",
900
+ type: "function",
901
+ },
902
+ {
903
+ inputs: [],
904
+ name: "lastFeeOperationTime",
905
+ outputs: [
906
+ {
907
+ internalType: "uint256",
908
+ name: "",
909
+ type: "uint256",
475
910
  },
911
+ ],
912
+ stateMutability: "view",
913
+ type: "function",
914
+ },
915
+ {
916
+ inputs: [
476
917
  {
477
918
  internalType: "address",
478
- name: "account",
919
+ name: "",
479
920
  type: "address",
480
921
  },
481
922
  ],
482
- name: "hasRole",
923
+ name: "lastFeeOperationTimeMap",
483
924
  outputs: [
484
925
  {
485
- internalType: "bool",
926
+ internalType: "uint256",
486
927
  name: "",
487
- type: "bool",
928
+ type: "uint256",
488
929
  },
489
930
  ],
490
931
  stateMutability: "view",
@@ -494,31 +935,130 @@ const _abi = [
494
935
  inputs: [
495
936
  {
496
937
  internalType: "address",
497
- name: "_admin",
938
+ name: "suToken",
498
939
  type: "address",
499
940
  },
500
941
  {
501
- internalType: "contract ISortedBorrows",
502
- name: "_sortedBorrows",
942
+ internalType: "uint256",
943
+ name: "amount",
944
+ type: "uint256",
945
+ },
946
+ {
947
+ internalType: "address[]",
948
+ name: "providers",
949
+ type: "address[]",
950
+ },
951
+ {
952
+ internalType: "bytes",
953
+ name: "signature",
954
+ type: "bytes",
955
+ },
956
+ ],
957
+ name: "redeemFaceValue",
958
+ outputs: [],
959
+ stateMutability: "nonpayable",
960
+ type: "function",
961
+ },
962
+ {
963
+ inputs: [
964
+ {
965
+ internalType: "address",
966
+ name: "csuToken",
503
967
  type: "address",
504
968
  },
969
+ {
970
+ internalType: "uint256",
971
+ name: "amount",
972
+ type: "uint256",
973
+ },
974
+ {
975
+ internalType: "address[]",
976
+ name: "providers",
977
+ type: "address[]",
978
+ },
979
+ {
980
+ internalType: "bytes",
981
+ name: "signature",
982
+ type: "bytes",
983
+ },
984
+ {
985
+ internalType: "uint256",
986
+ name: "permitDeadline",
987
+ type: "uint256",
988
+ },
989
+ {
990
+ internalType: "bytes",
991
+ name: "permitSignature",
992
+ type: "bytes",
993
+ },
505
994
  ],
506
- name: "initialize",
995
+ name: "redeemFaceValueWithPermit",
507
996
  outputs: [],
508
997
  stateMutability: "nonpayable",
509
998
  type: "function",
510
999
  },
511
1000
  {
512
- inputs: [],
513
- name: "lastFeeOperationTime",
1001
+ inputs: [
1002
+ {
1003
+ internalType: "address",
1004
+ name: "redeemer",
1005
+ type: "address",
1006
+ },
1007
+ {
1008
+ internalType: "address",
1009
+ name: "provider",
1010
+ type: "address",
1011
+ },
1012
+ {
1013
+ internalType: "address",
1014
+ name: "cToken",
1015
+ type: "address",
1016
+ },
1017
+ {
1018
+ internalType: "address",
1019
+ name: "suToken",
1020
+ type: "address",
1021
+ },
1022
+ {
1023
+ internalType: "uint256",
1024
+ name: "redeemAmount",
1025
+ type: "uint256",
1026
+ },
1027
+ ],
1028
+ name: "redeemFaceValueWithProviderPreview",
514
1029
  outputs: [
515
1030
  {
516
1031
  internalType: "uint256",
517
1032
  name: "",
518
1033
  type: "uint256",
519
1034
  },
1035
+ {
1036
+ internalType: "uint256",
1037
+ name: "",
1038
+ type: "uint256",
1039
+ },
1040
+ {
1041
+ internalType: "uint256",
1042
+ name: "",
1043
+ type: "uint256",
1044
+ },
1045
+ {
1046
+ internalType: "uint256",
1047
+ name: "",
1048
+ type: "uint256",
1049
+ },
1050
+ {
1051
+ internalType: "uint256",
1052
+ name: "",
1053
+ type: "uint256",
1054
+ },
1055
+ {
1056
+ internalType: "uint256",
1057
+ name: "",
1058
+ type: "uint256",
1059
+ },
520
1060
  ],
521
- stateMutability: "view",
1061
+ stateMutability: "nonpayable",
522
1062
  type: "function",
523
1063
  },
524
1064
  {
@@ -573,12 +1113,12 @@ const _abi = [
573
1113
  {
574
1114
  inputs: [
575
1115
  {
576
- internalType: "contract ISortedBorrows",
577
- name: "_sortedBorrows",
1116
+ internalType: "address",
1117
+ name: "signer",
578
1118
  type: "address",
579
1119
  },
580
1120
  ],
581
- name: "setSortedBorrows",
1121
+ name: "setRedeemFaceValueSigner",
582
1122
  outputs: [],
583
1123
  stateMutability: "nonpayable",
584
1124
  type: "function",
@@ -615,50 +1155,8 @@ const _abi = [
615
1155
  stateMutability: "view",
616
1156
  type: "function",
617
1157
  },
618
- {
619
- inputs: [
620
- {
621
- internalType: "uint256",
622
- name: "redeemAmount",
623
- type: "uint256",
624
- },
625
- {
626
- internalType: "uint256",
627
- name: "_totalSupply",
628
- type: "uint256",
629
- },
630
- ],
631
- name: "updateBaseRateFromRedemption",
632
- outputs: [
633
- {
634
- internalType: "uint256",
635
- name: "",
636
- type: "uint256",
637
- },
638
- ],
639
- stateMutability: "nonpayable",
640
- type: "function",
641
- },
642
- {
643
- inputs: [
644
- {
645
- internalType: "address",
646
- name: "csuToken",
647
- type: "address",
648
- },
649
- {
650
- internalType: "address",
651
- name: "borrower",
652
- type: "address",
653
- },
654
- ],
655
- name: "updateSortedBorrows",
656
- outputs: [],
657
- stateMutability: "nonpayable",
658
- type: "function",
659
- },
660
1158
  ];
661
- const _bytecode = "0x6080806040523461001657611ff1908161001c8239f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a714610d0b57508063071a754114610cef5780631f68f20a14610cd05780632409266914610cae578063248a9ca314610c8357806328d28b5b14610c615780632b11551a14610c415780632f2ff15d14610b8757806336568abe14610af5578063485cc9551461093157806350e85423146108d05780635dba4c4a146108555780635fe3b5671461082c57806361ec893d146108105780638bad38dd146107405780639010d07c146106ff57806391d14854146106b8578063947f5b77146106795780639d3fe0b014610581578063a20baee61461055e578063a217fddf14610543578063bbf56b3a146104c8578063c33520eb146103f1578063c52861f2146103a1578063c7b554811461037e578063ca15c87314610356578063d380a37c14610337578063d547741f146102fa578063d99550c914610242578063ec8b88ee146102155763fb02cd421461017957600080fd5b34610211576020366003190112610211576020610194610ddd565b60c9548351633b725b2360e01b81526001600160a01b039283169581019590955284916024918391165afa91821561020757602093926101d8575b50519015158152f35b6101f9919250833d8111610200575b6101f18183611176565b81019061150b565b90386101cf565b503d6101e7565b81513d85823e3d90fd5b8280fd5b83823461023e578160031936011261023e5760c95490516001600160a01b039091168152602090f35b5080fd5b5090346102115781600319360112610211576102a5916020610262610ddd565b9261026b610dc2565b60c95484516339ed25cd60e01b81526001600160a01b03968716938101938452918616602084015290958692918616918391829160400190565b03915afa9283156102f057602094936102c1575b505191168152f35b6102e2919350843d81116102e9575b6102da8183611176565b81019061167c565b91386102b9565b503d6102d0565b81513d86823e3d90fd5b5034610211578060031936011261021157610334913561032f600161031d610dc2565b93838752606560205286200154611001565b611198565b80f35b83823461023e578160031936011261023e5760209060cc549051908152f35b5090346102115760203660031901126102115760209282913581526097845220549051908152f35b83823461023e578160031936011261023e5760209051670ddd4b8c6c7d70d88152f35b83823461023e578160031936011261023e576020906103ea670de0b6b3a76400006103e46103dc603c6103d660cc544261140e565b0461157f565b60cb54610d99565b04611650565b9051908152f35b50346102115760203660031901126102115761040b610ddd565b610413610df3565b60c95482516344b7213760e11b815290936001600160a01b039390916020818481888a165afa9081156104be5787916104a0575b501561046457505016906001600160601b0360a01b161760c95580f35b906020606492519162461bcd60e51b83528201526016602482015275696e76616c696420736f7274656420626f72726f777360501b6044820152fd5b6104b8915060203d8111610200576101f18183611176565b38610447565b82513d89823e3d90fd5b50823461053c5760a036600319011261053c576104e3610dc2565b6001600160a01b03936044359190858316830361053f5760643593868516850361053c57608435968716870361053c57509161052493916080969335611a0c565b92939091815194855260208501528301526060820152f35b80fd5b8380fd5b83823461023e578160031936011261023e5751908152602090f35b83823461023e578160031936011261023e5760209051670de0b6b3a76400008152f35b50823461053c578160031936011261053c578235906105ab60018060a01b0360ca54163314611523565b670de0b6b3a764000090816105ca6103dc603c6103d660cc544261140e565b049282810290808204841490151715610666576105ea9060243590610d79565b60011c83018093116106535750602093508082101561064b5750905b610611821515611562565b8160cb557fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c838251848152a1610645611f75565b51908152f35b905090610606565b634e487b7160e01b815260118552602490fd5b634e487b7160e01b825260118652602482fd5b83823461023e5736600319011261053c57610334610695610ddd565b61069d610dc2565b906106b360018060a01b0360ca54163314611523565b61169b565b5090346102115781600319360112610211578160209360ff926106d9610dc2565b90358252606586528282206001600160a01b039091168252855220549151911615158152f35b50903461021157816003193601126102115760209261072a913581526097845282602435912061136c565b905491519160018060a01b039160031b1c168152f35b5090346102115760203660031901126102115780356001600160a01b038116929083900361053f57610770610df3565b8051623f1ee960e11b81526020818481875afa9081156108065785916107e8575b50156107af5750506001600160601b0360a01b60ca54161760ca5580f35b906020606492519162461bcd60e51b8352820152601360248201527234b73b30b634b21031b7b6b83a3937b63632b960691b6044820152fd5b610800915060203d8111610200576101f18183611176565b38610791565b82513d87823e3d90fd5b83823461023e578160031936011261023e5760209051603c8152f35b83823461023e578160031936011261023e5760ca5490516001600160a01b039091168152602090f35b83823461023e578160031936011261023e5760207fc454ee9b76c52f782a256af821b857ca6e125d1e3333bcede402fec2bed9600c91610893610df3565b670de0b6b3a7640000906108bf826108b56103dc603c6103d660cc544261140e565b0492831115611562565b8160cb5551908152a1610334611f75565b50346102115760203660031901126102115760249060206108ef610ddd565b60c9548351631bdb4c8d60e01b81526001600160a01b039283169681019690965290938591829086165afa9283156102f057602094936102c157505191168152f35b50903461021157816003193601126102115761094b610ddd565b90610954610dc2565b9184549260ff8460081c161592838094610ae8575b8015610ad1575b15610a77575060ff1984811660011787559383610a66575b50858052606560209081528587206001600160a01b039384168089529082528688205491956109ca9260ff1615610a1e575b5087805260978652868820611384565b50166001600160601b0360a01b60c954161760c9556109e7578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a138808280f35b88805260658752878920828a5287526001888a20918254161790553381897f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4386109ba565b61ffff191661010117865538610988565b608490602087519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156109705750600160ff861614610970565b50600160ff861610610969565b5091903461023e578260031936011261023e57610b10610dc2565b90336001600160a01b03831603610b2c57906103349135611198565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5034610211578060031936011261021157610bf49135906097610ba8610dc2565b9280865260209060658252610bc260018589200154611001565b808752606582528387206001600160a01b039095168088529482528387205460ff1615610bf8575b8652528320611384565b5080f35b808752606582528387208588528252838720805460ff191660011790553385827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8a80a4610bea565b83823461023e578160031936011261023e576020906103ea60cb54611650565b83823461023e578160031936011261023e5760209051662386f26fc100008152f35b5090346102115760203660031901126102115781602093600192358152606585522001549051908152f35b83823461023e578160031936011261023e576020905166b1a2bc2ec500008152f35b83823461023e578160031936011261023e5760209060cb549051908152f35b83823461023e578160031936011261023e576020905160028152f35b84908434610211576020366003190112610211573563ffffffff60e01b81168091036102115760209250635a05180f60e01b8114908115610d4e575b5015158152f35b637965db0b60e01b811491508115610d68575b5083610d47565b6301ffc9a760e01b14905083610d61565b8115610d83570490565b634e487b7160e01b600052601260045260246000fd5b81810292918115918404141715610dac57565b634e487b7160e01b600052601160045260246000fd5b602435906001600160a01b0382168203610dd857565b600080fd5b600435906001600160a01b0382168203610dd857565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b60209081526040808320549092919060ff1615610e3657505050565b610e3f3361125d565b835183610e4b8261115a565b60428252838201946060368737825115610fed5760308653825190600191821015610fed5790607860218501536041915b818311610f7f57505050610f3d5784610f0b6048610f2f936044979851988991610efc8984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a52610ed3815180928d60378901910161110d565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061110d565b01036028810189520187611176565b5194859362461bcd60e51b855260048501525180928160248601528585019061110d565b601f01601f19168101030190fd5b60648386519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610fd9576f181899199a1a9b1b9c1cb0b131b232b360811b901a610faf8587611236565b5360041c928015610fc557600019019190610e7c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b6000818152602060658152604092838320338452825260ff8484205416156110295750505050565b6110323361125d565b9084519061103f8261115a565b60428252838201946060368737825115610fed5760308653825190600191821015610fed5790607860218501536041915b8183116110c757505050610f3d5784610f0b6048610f2f936044979851988991610efc8984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a52610ed3815180928d60378901910161110d565b909192600f81166010811015610fd9576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110f78587611236565b5360041c928015610fc557600019019190611070565b60005b8381106111205750506000910152565b8181015183820152602001611110565b67ffffffffffffffff811161114457604052565b634e487b7160e01b600052604160045260246000fd5b6080810190811067ffffffffffffffff82111761114457604052565b90601f8019910116810190811067ffffffffffffffff82111761114457604052565b9060406111d69260009080825260656020528282209360018060a01b03169384835260205260ff83832054166111d9575b815260976020522061141b565b50565b808252606560205282822084835260205282822060ff1981541690553384827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a46111c9565b906706f05b59d3b200008201809211610dac57565b908151811015611247570160200190565b634e487b7160e01b600052603260045260246000fd5b604051906060820182811067ffffffffffffffff82111761114457604052602a82526020820160403682378251156112475760309053815160019081101561124757607860218401536029905b8082116112fe5750506112ba5790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015611357576f181899199a1a9b1b9c1cb0b131b232b360811b901a61132d8486611236565b5360041c9180156113425760001901906112aa565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b80548210156112475760005260206000200190600090565b9190600183016000908282528060205260408220541560001461140857845494680100000000000000008610156113f457836113e46113cd886001604098999a0185558461136c565b819391549060031b91821b91600019901b19161790565b9055549382526020522055600190565b634e487b7160e01b83526041600452602483fd5b50925050565b91908203918211610dac57565b9060018201906000928184528260205260408420549081151560001461150457600019918083018181116114f0578254908482019182116114dc578082036114a7575b5050508054801561149357820191611476838361136c565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b6114c76114b76113cd938661136c565b90549060031b1c9283928661136c565b9055865284602052604086205538808061145e565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b90816020910312610dd857518015158103610dd85790565b1561152a57565b60405162461bcd60e51b815260206004820152601060248201526f37b7363c9031b7b6b83a3937b63632b960811b6044820152606490fd5b1561156957565b634e487b7160e01b600052600160045260246000fd5b90631f540500808311611648575b50811561163b57670de0b6b3a764000091670ddd4b8c6c7d70d8905b6001918282111561161c578183166115e1576115d66115d182670de0b6b3a764000093610d99565b611221565b04911c925b926115a9565b936116076115d1670de0b6b3a76400006115ff6115d182958a610d99565b049680610d99565b04916000198201918211611342571c926115db565b61163792506115d1915093670de0b6b3a76400009394610d99565b0490565b670de0b6b3a76400009150565b91503861158d565b662386f26fc10000908101809111610dac57670de0b6b3a764000080821015611677575090565b905090565b90816020910312610dd857516001600160a01b0381168103610dd85790565b60408051637f4e225760e11b81526001600160a01b0393919260209285821692909160049185818481885afa9081156119ae57600091611991575b50156116e6575b50505050505050565b8551926395dd919360e01b84528781169788848601528685602481895afa94851561198657600095611957575b50841561194c5760c9548851631da4d95d60e31b81526001600160a01b038086168783019081529085166020820152918316918990829081906040010381855afa9081156118c25760009161192f575b50156118cd575060c95488516239c6e160ea1b81526001600160a01b03808616878301908152908516602082015290949183169391908990869081906040010381875afa9485156118c2579089929160009661189b575b508a516339ed25cd60e01b81526001600160a01b039182168882019081529290911660208301529190829081906040015b0381865afa97881561189057600098611871575b5050813b15610dd85760009681889460a4978b519c8d9a8b9963bc9b5bd560e01b8b528a0152602489015260448801521660648601521660848401525af19081156118675750611858575b505b388080808080806116dd565b61186190611130565b3861184a565b513d6000823e3d90fd5b611888929850803d106102e9576102da8183611176565b9538806117ff565b89513d6000823e3d90fd5b83929196506118b9906117eb943d85116102e9576102da8183611176565b959091926117ba565b8a513d6000823e3d90fd5b949650505050813b15610dd857600060a492819587519889968795633e499e0560e11b8752860152602485015260448401528160648401528160848401525af19081156118675750611920575b5061184c565b61192990611130565b3861191a565b6119469150893d8b11610200576101f18183611176565b38611763565b505050505050505050565b90948782813d831161197f575b61196e8183611176565b8101031261053c5750519338611713565b503d611964565b88513d6000823e3d90fd5b6119a89150863d8811610200576101f18183611176565b386116d6565b87513d6000823e3d90fd5b156119c057565b60405162461bcd60e51b815260206004820152600b60248201526a383934b1b29032b93937b960a91b6044820152606490fd5b90816020910312610dd8575160ff81168103610dd85790565b60405163a6afed9560e01b8082526001600160a01b0397959694959492939160208160048160008d8c165af18015611d4e57611f4a575b5060405190815260208160048160008c8c165af18015611d4e57611f1f575b506040516361bfb47160e11b815290871660048201819052608082602481898c165afa928315611d4e5760008093600095611edc575b50611ea6578215611e5b57604051916305eff7ef60e21b8352600483015260208260248160008d8d165af1918215611d4e57600092611e72575b508115611e5b57604051631d8e90d160e11b81529860208a6004818b85165afa998a15611d4e5760009a611e27575b508915611e0f5760405163fc57d4df60e01b815289821660048201526020816024818686165afa908115611d4e57600091611ddd575b50816020829b611b488415156119b9565b60046040518094819363313ce56760e01b8352165afa8015611d4e5760ff91600091611dbe575b501660128110611d8e575b505060208160248a82604051968794859363fc57d4df60e01b8552166004840152165afa918215611d4e57600092611d5a575b5060208298611bbd8415156119b9565b60046040518094819363313ce56760e01b8352165afa8015611d4e5760ff91600091611d1f575b501660128110611cf2575b5050670de0b6b3a764000091611c1a83611c1286611c0d858c610d99565b610d99565b049289610d99565b80831015611ce857611c2c8984610d79565b808711611cb15750505050611c418387610d99565b81810290808204831490151715610dac5782611c6087611c6593610d79565b610d79565b965b8181029081048203610dac5782611c7d91610d79565b91878310611c8f575b50505093929190565b82975086919350611c6090611c0d611ca8949988610d99565b04388080611c86565b955090918110611cc2575096611c67565b8281029150801590820483141715610dac5782611c6087611ce293610d79565b96611c67565b611c2c8982610d79565b909196506012039060128211610dac57604d8211610dac57611d1791600a0a90610d99565b943880611bef565b611d41915060203d602011611d47575b611d398183611176565b8101906119f3565b38611be4565b503d611d2f565b6040513d6000823e3d90fd5b9091506020813d602011611d86575b81611d7660209383611176565b81010312610dd857519038611bad565b3d9150611d69565b9091995060120360ff8111610dac5760ff1690604d8211610dac57611db691600a0a90610d99565b973880611b7a565b611dd7915060203d602011611d4757611d398183611176565b38611b6f565b90506020813d602011611e07575b81611df860209383611176565b81010312610dd8575138611b37565b3d9150611deb565b50505050505092505050600090600090600090600090565b9099506020813d602011611e53575b81611e4360209383611176565b81010312610dd857519838611b01565b3d9150611e36565b505050505092505050600090600090600090600090565b9091506020813d602011611e9e575b81611e8e60209383611176565b81010312610dd857519038611ad2565b3d9150611e81565b60405162461bcd60e51b815260206004820152600e60248201526d39b730b839b437ba1032b93937b960911b6044820152606490fd5b94505091506080833d8211611f17575b81611ef960809383611176565b81010312610dd8578251602084015160609094015193929038611a98565b3d9150611eec565b602090813d8311611f43575b611f358183611176565b81010312610dd85738611a62565b503d611f2b565b602090813d8311611f6e575b611f608183611176565b81010312610dd85738611a43565b503d611f56565b603c611f8360cc544261140e565b1015611f8b57565b4260cc557f860f8d2f0c74dd487e89e2883e3b25b8159ce1e1b3433a291cba7b82c508f3bc6020604051428152a156fea26469706673582212201880d6d5cc0744f4a845ad5f15382c1630940d634dd58108fc0a0f44b981cbb164736f6c63430008130033";
1159
+ const _bytecode = "0x608080604052346100165761269b908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c806301ffc9a714610217578063071a7541146102125780630f3436041461020d5780631f68f20a146102085780632409266914610203578063248a9ca3146101fe57806324b735bd146101f957806328d28b5b146101f45780632f2ff15d146101ef57806332ba19c2146101ea57806336568abe146101e55780633c103d7a146101e05780635fe3b567146101db57806361ec893d146101d6578063699f7c95146101d15780636d5d44b8146101cc5780636ec7ba15146101c757806373e54f48146101c25780638bad38dd146101bd5780639010d07c146101b857806391d14854146101b3578063a20baee6146101ae578063a217fddf146101a9578063c4d66de8146101a4578063c7b554811461019f578063ca15c8731461019a578063d201d32814610195578063d380a37c14610190578063d547741f1461018b578063e8a7f3c114610186578063ec8b88ee146101815763f1dcf16e1461017c57600080fd5b610db3565b610d8a565b610d26565b610ce4565b610cc6565b610c89565b610c5d565b610c3a565b610b4d565b610b31565b610b0e565b610ab8565b610a71565b6109b3565b61098a565b610909565b61073e565b6106c9565b6106ad565b610684565b610621565b610589565b61054a565b610458565b610436565b6103db565b6103ac565b61038a565b610301565b6102c4565b610297565b346102875760203660031901126102875760043563ffffffff60e01b811680910361028757602090635a05180f60e01b811490811561025c575b506040519015158152f35b637965db0b60e01b811491508115610276575b5038610251565b6301ffc9a760e01b1490503861026f565b600080fd5b600091031261028757565b3461028757600036600319011261028757602060405160028152f35b6001600160a01b0381160361028757565b34610287576020366003190112610287576004356102e1816102b3565b60018060a01b031660005260cd6020526020604060002054604051908152f35b3461028757600036600319011261028757602060cb54604051908152f35b634e487b7160e01b600052601160045260246000fd5b811561033f570490565b634e487b7160e01b600052601260045260246000fd5b90670de0b6b3a76400009182810292818404149015171561037257565b61031f565b8181029291811591840414171561037257565b3461028757600036600319011261028757602060405166b1a2bc2ec500008152f35b346102875760203660031901126102875760043560005260656020526020600160406000200154604051908152f35b3461028757608036600319011261028757608061041e6024356103fd816102b3565b604435610409816102b3565b60643591610416836102b3565b6004356117c9565b91604051938452602084015260408301526060820152f35b346102875760003660031901126102875760206040516611c37937e080008152f35b34610287576040366003190112610287576004356104d960243561047b816102b3565b6104d460009380855260656020526104996001604087200154611013565b8085526065602090815260408087206001600160a01b0386166000908152925290205460ff16156104dd576000526097602052604060002090565b611339565b5080f35b8085526065602090815260408087206001600160a01b038616600090815292529020805460ff19166001179055336001600160a01b038416827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8880a46000526097602052604060002090565b3461028757606036600319011261028757602061058161057c60043561056f816102b3565b60443590602435906115a7565b611734565b604051908152f35b34610287576040366003190112610287576024356105a6816102b3565b336001600160a01b038216036105c4576105c29060043561112f565b005b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346102875760203660031901126102875760043561063e816102b3565b610646610eb7565b6001600160a01b03168015610672576bffffffffffffffffffffffff60a01b60cf54161760cf55600080f35b60405163e6c4247b60e01b8152600490fd5b346102875760003660031901126102875760ca546040516001600160a01b039091168152602090f35b34610287576000366003190112610287576020604051603c8152f35b346102875760a03660031901126102875760c06107196004356106eb816102b3565b6024356106f7816102b3565b604435610703816102b3565b60643591610710836102b3565b60843593611c26565b93604093919351958652602086015260408501526060840152608083015260a0820152f35b34610287576020366003190112610287576105c260043561075e816102b3565b610766610eb7565b7f2f992d01b594c040f05262961e43f8311e780be5fee3deb4c57880dd6374d12d6107d96107938361161c565b6107a7670de0b6b3a764000082111561158a565b6001600160a01b038416600081815260cd60209081526040918290208490558151928352820192909252918291820190565b0390a1611ba6565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff811161080b57604052565b6107e1565b90601f8019910116810190811067ffffffffffffffff82111761080b57604052565b67ffffffffffffffff811161080b5760051b60200190565b81601f820112156102875780359161086183610832565b9261086f6040519485610810565b808452602092838086019260051b820101928311610287578301905b828210610899575050505090565b83809183356108a7816102b3565b81520191019061088b565b81601f820112156102875780359067ffffffffffffffff821161080b57604051926108e7601f8401601f191660200185610810565b8284526020838301011161028757816000926020809301838601378301015290565b346102875760c036600319011261028757600435610926816102b3565b67ffffffffffffffff906044358281116102875761094890369060040161084a565b90606435838111610287576109619036906004016108b2565b60a4359384116102875761097c6105c29436906004016108b2565b926084359260243590611d4e565b346102875760003660031901126102875760cf546040516001600160a01b039091168152602090f35b34610287576020366003190112610287576004356109d0816102b3565b6109d8610eb7565b604051623f1ee960e11b81526001600160a01b039190911690602081600481855afa908115610a6c57600091610a3e575b5015610a2c576bffffffffffffffffffffffff60a01b60ca54161760ca55600080f35b6040516383aebebd60e01b8152600490fd5b610a5f915060203d8111610a65575b610a578183610810565b81019061156a565b38610a09565b503d610a4d565b61157e565b346102875760403660031901126102875760043560005260976020526020610a9f602435604060002061134c565b905460405160039290921b1c6001600160a01b03168152f35b3461028757604036600319011261028757602060ff610b02602435610adc816102b3565b6004356000526065845260406000209060018060a01b0316600052602052604060002090565b54166040519015158152f35b34610287576000366003190112610287576020604051670de0b6b3a76400008152f35b3461028757600036600319011261028757602060405160008152f35b3461028757602036600319011261028757600435610b6a816102b3565b610bae60005491610b9260ff8460081c161580948195610c2c575b8115610c0c575b506114fa565b82610ba5600160ff196000541617600055565b610bf357610df0565b610bb457005b610bc461ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b610c0761010061ff00196000541617600055565b610df0565b303b15915081610c1e575b5038610b8c565b6001915060ff161438610c17565b600160ff8216109150610b85565b34610287576000366003190112610287576020604051670ddd4b8c6c7d70d88152f35b346102875760203660031901126102875760043560005260976020526020604060002054604051908152f35b3461028757602036600319011261028757600435610ca6816102b3565b60018060a01b031660005260cd6020526020610581604060002054611734565b3461028757600036600319011261028757602060cc54604051908152f35b34610287576040366003190112610287576105c2602435600435610d07826102b3565b806000526065602052610d21600160406000200154611013565b61112f565b3461028757608036600319011261028757600435610d43816102b3565b67ffffffffffffffff9060443582811161028757610d6590369060040161084a565b60643592831161028757610d806105c29336906004016108b2565b9160243590611f28565b346102875760003660031901126102875760c9546040516001600160a01b039091168152602090f35b3461028757602036600319011261028757600435610dd0816102b3565b60018060a01b031660005260ce6020526020604060002054604051908152f35b6001600160a01b03811660009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604080822054610e5293929060ff1615610e55575b8080526097602052206001600160a01b0390911690611382565b50565b808052606560209081528282206001600160a01b0385166000908152915260409020805460ff19166001179055336001600160a01b038416827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4610e38565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff1615610ef057565b610ef9336112a8565b600090610f046111e0565b916030610f1084611222565b536078610f1c8461122f565b5360415b60018111610fcc57610fc86048610fb085610fa288610f3f881561125d565b6040519485937f416363657373436f6e74726f6c3a206163636f756e74200000000000000000006020860152610f7f8151809260206037890191016110bc565b84017001034b99036b4b9b9b4b733903937b6329607d1b603782015201906110df565b03601f198101835282610810565b60405162461bcd60e51b81529182916004830161111b565b0390fd5b90600f811690601082101561100e57611009916f181899199a1a9b1b9c1cb0b131b232b360811b901a610fff848761123f565b5360041c91611250565b610f20565b61120c565b600081815260656020908152604080832033845290915290205460ff16156110385750565b611041336112a8565b6110496111e0565b91603061105584611222565b5360786110618461122f565b5360415b6001811161108457610fc86048610fb085610fa288610f3f881561125d565b90600f811690601082101561100e576110b7916f181899199a1a9b1b9c1cb0b131b232b360811b901a610fff848761123f565b611065565b60005b8381106110cf5750506000910152565b81810151838201526020016110bf565b906110f2602092828151948592016110bc565b0190565b9060209161110f815180928185528580860191016110bc565b601f01601f1916010190565b90602061112c9281815201906110f6565b90565b906040610e5292600090808252606560205260ff611161858585209060018060a01b0316600052602052604060002090565b5416611181575b81526097602052206001600160a01b0390911690611445565b808252606560209081528383206001600160a01b0386166000908152915260409020805460ff19169055336001600160a01b038516827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a4611168565b604051906080820182811067ffffffffffffffff82111761080b57604052604282526060366020840137565b634e487b7160e01b600052603260045260246000fd5b80511561100e5760200190565b80516001101561100e5760210190565b90815181101561100e570160200190565b8015610372576000190190565b1561126457565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b604051906060820182811067ffffffffffffffff82111761080b57604052602a8252604036602084013760306112dd83611222565b5360786112e98361122f565b536029905b600182116113015761112c91501561125d565b600f811690601082101561100e57611333916f181899199a1a9b1b9c1cb0b131b232b360811b901a610fff848661123f565b906112ee565b61112c916001600160a01b031690611382565b805482101561100e5760005260206000200190600090565b9161137e9183549060031b91821b91600019901b19161790565b9055565b60018101908260005281602052604060002054156000146113f05780546801000000000000000081101561080b576113db6113c482600187940185558461134c565b819391549060031b91821b91600019901b19161790565b90555491600052602052604060002055600190565b505050600090565b9190820391821161037257565b805490811561142f576000199182019161141f838361134c565b909182549160031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b60018101918060005282602052604060002054928315156000146114f1576000199284840190858211610372578054948501948511610372576000958583611499946114a898036114ae575b505050611405565b90600052602052604060002090565b55600190565b6114d86114d2916114c26114e8948761134c565b90549060031b1c9283918761134c565b90611364565b8590600052602052604060002090565b55388080611491565b50505050600090565b1561150157565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b5190811515820361028757565b908160209103126102875761112c9061155d565b6040513d6000823e3d90fd5b1561159157565b634e487b7160e01b600052600160045260246000fd5b82156115fb576115b69061161c565b91670de0b6b3a76400009182810290808204841490151715610372570460011c820180921161037257808210156115f457505b61112c81151561158a565b90506115e9565b505050670de0b6b3a764000090565b9080821015611617575090565b905090565b6001600160a01b0316600081815260ce60205260409020544290810390811161037257670de0b6b3a764000091611658603c61166c9304611670565b9060005260cd602052604060002054610377565b0490565b90631f540500808311611702575b5081156116f557670de0b6b3a7640000670ddd4b8c6c7d70d8925b600193848211156116e8578185166116bf57806116b59161170a565b931c925b92611699565b916116cd6116d4918461170a565b928061170a565b936000198201918211610372571c926116b9565b905061112c92935061170a565b670de0b6b3a76400009150565b91503861167e565b9061171491610377565b6706f05b59d3b20000810180911161037257670de0b6b3a7640000900490565b6611c37937e0800090810180911161037257670de0b6b3a764000080821015611617575090565b90816020910312610287575190565b9190826080910312610287578151916020810151916060604083015192015190565b1561179357565b60405162461bcd60e51b815260206004820152600e60248201526d39b730b839b437ba1032b93937b960911b6044820152606490fd5b6040805163a6afed9560e01b808252600497929695929460209490939092600091906001600160a01b038083169188818e8188875af18015610a6c57611b89575b508916958a5194855287858d81878b5af1948515610a6c5761185795611b6c575b508a516361bfb47160e11b81526001600160a01b038216818e0190815290956080918791829160200190565b0381855afa968715610a6c578485968699611b30575b50611878901561178c565b8515611b1c578b516305eff7ef60e21b81526001600160a01b03909216828e019081529195949392918991879182908790829060200103925af1948515610a6c578395611afd575b508415611acb57878c918c519d8e8092631d8e90d160e11b82525afa9b8c15610a6c57839c611ade575b508b15611acb5760ca5461190e906001600160a01b03165b6001600160a01b031690565b8b516312bdd04160e31b8082526001600160a01b03909c16818401908152909b919291908a908d9081906020010381865afa9b8c15610a6c57859c611aa0575b509b519b8c526001600160a01b03909216918b0191825298999887918a9190829081906020015b03915afa978815610a6c5789968299611a6b575b505090879392916119be6119b76119a9886119a4868a610377565b610377565b670de0b6b3a7640000900490565b9388610377565b906119d2886119cd848761160a565b610335565b9050808511611a3a57505050506119cd611a01846119cd611a07956119cd6119fc8785989b610377565b610355565b98610355565b90868210611a18575b505093929190565b819650611a3392506119cd86916119a46119a9949988610377565b3880611a10565b9650611a07948694506119cd938592908110611a595750505098610355565b611a019350906119cd6119cd92610355565b611a8e929594939950803d10611a99575b611a868183610810565b81019061175b565b969091923880611989565b503d611a7c565b6119759c5090611ac08b95949392863d8811611a9957611a868183610810565b9c509091929361194e565b5050985050505050509150508180918190565b611af6919c50883d8a11611a9957611a868183610810565b9a386118ea565b611b15919550883d8a11611a9957611a868183610810565b93386118c0565b505050509750505050509150508180918190565b90506118789850611b5991965060803d8111611b65575b611b518183610810565b81019061176a565b9991979291905061186d565b503d611b47565b611b8290893d8b11611a9957611a868183610810565b503861182b565b611b9f90893d8b11611a9957611a868183610810565b503861180a565b6001600160a01b038116600081815260ce60205260409020544290810390811161037257603c1115611bd6575050565b600090815260ce6020908152604091829020429081905582516001600160a01b03949094168452908301527f4b1a24436e474bd20ff461d446818e19b145a1ff52f698dec751807684621acc91a1565b92936001600160a01b039391929091841684841614611ced57611c4a9285926117c9565b92959194909386158015611ce5575b611cd457906020600492604051938480926308f7a6e360e31b825285165afa8015610a6c578761057c92611c9594600093611cb4575b506115a7565b90611cad611ca66119a98488610377565b80966113f8565b9493929190565b611ccd91935060203d8111611a9957611a868183610810565b9138611c8f565b506000955085945084939291849150565b508515611c59565b5050505050600090600090600090600090600090600090565b90816020910312610287575161112c816102b3565b919261112c95949160a094600180871b0380921685521660208401526040830152606082015281608082015201906110f6565b604051636f307dc360e01b815293949293919290916001600160a01b03906020816004818588165afa908115610a6c57600091611dec575b501695863b1561028757611db79660009283604051809a81958294639fd5a6cf60e01b84528a8a3360048701611d1b565b03925af1948515610a6c57611dd195611dd3575b50611f28565b565b80611de0611de6926107f7565b8061028c565b38611dcb565b611e0d915060203d8111611e13575b611e058183610810565b810190611d06565b38611d86565b503d611dfb565b805160208092019160005b828110611e33575050505090565b83516001600160a01b031685529381019392810192600101611e25565b9081606091031261028757611e648161155d565b91602082015160ff8116810361028757604061112c91930161155d565b60001981146103725760010190565b805182101561100e5760209160051b010190565b60209081818403126102875780519067ffffffffffffffff821161028757019180601f84011215610287578251611eda81610832565b93611ee86040519586610810565b818552838086019260051b820101928311610287578301905b828210611f0f575050505090565b8380918351611f1d816102b3565b815201910190611f01565b604051637f4e225760e11b815291949390916020816004816001600160a01b0387165afa908115610a6c576000916124aa575b508015612436575b612424576040516020810190611f7d81610fa28488611e1a565b5190206041825103612412576020828101516040808501516060958601518251958652600090811a868601529185019290925293830152828052919060809060015afa15610a6c5760005160cf54611fdd906001600160a01b0316611902565b6001600160a01b03909116036124005760ca54612002906001600160a01b0316611902565b604051638e8f294b60e01b81526001600160a01b03831660048201529490606090869060249082905afa948515610a6c576000956123dc575b5091906000935b82518510806123d3575b156123b55761206b61205e8685611e90565b516001600160a01b031690565b60ca54909190612083906001600160a01b0316611902565b604051632aff3bff60e21b81526001600160a01b03841660048201529490600090869060249082905afa948515610a6c57600095612392575b50336001600160a01b038416146123845760005b855181108061237b575b1561223a57600460206120f661190261190261205e868c611e90565b604051637f4e225760e11b815292839182905afa908115610a6c5760009161221b575b50156121955760ca546121749060609061213b906001600160a01b0316611902565b61214861205e858b611e90565b604051638e8f294b60e01b81526001600160a01b03909116600482015292839190829081906024820190565b03915afa908115610a6c576000916121e9575b5060ff808b169116146121a3575b61219e90611e81565b6120d0565b956121bd81866121b661205e8b8b611e90565b87336124c9565b90808210156121dc5761219e916121d3916113f8565b965b9050612195565b505061219e6000966121d5565b61220b915060603d606011612214575b6122038183610810565b810190611e50565b50905038612187565b503d6121f9565b612234915060203d602011610a6557610a578183610810565b38612119565b509060005b8551811080612372575b15612359576004602061226561190261190261205e868c611e90565b604051637f4e225760e11b815292839182905afa908115610a6c5760009161233a575b50156122cb5760ca546122aa9060609061213b906001600160a01b0316611902565b03915afa908115610a6c57600091612318575b5060ff808b169116036122d9575b6122d490611e81565b61223f565b956122ec81866121b661205e8b8b611e90565b908082101561230b576122d491612302916113f8565b965b90506122cb565b50506122d4600096612304565b612331915060603d606011612214576122038183610810565b509050386122bd565b612353915060203d602011610a6557610a578183610810565b38612288565b5095909293506123699150611e81565b93919091612042565b50861515612249565b508615156120da565b929350946123699150611e81565b6123ae91953d8091833e6123a68183610810565b810190611ea4565b93386120bc565b9450505090506123c157565b60405163518d5aa560e11b8152600490fd5b5083151561204c565b6123f691955060603d606011612214576122038183610810565b509050933861203b565b604051634702195f60e01b8152600490fd5b604051634be6321b60e01b8152600490fd5b604051630f72f32b60e11b8152600490fd5b5060ca5461244c906001600160a01b0316611902565b604051637bca031760e11b81526001600160a01b038416600482015290602090829060249082905afa908115610a6c5760009161248b575b5015611f63565b6124a4915060203d602011610a6557610a578183610810565b38612484565b6124c3915060203d602011610a6557610a578183610810565b38611f5b565b6040516308f7a6e360e31b81526020949192916001600160a01b03811691908682600481865afa918215610a6c5761253d9261250f916000916125e1575b5089836125fe565b5085846125376125318460018060a01b031660005260cd602052604060002090565b54611734565b996117c9565b5050929096871580156125d9575b6125cc576040516372cd916760e01b81526001600160a01b039586166004820152918516602483015260448201889052949093166064840152608483019190915260a4820192909252908290829060c49082906000905af18015610a6c576125b257505090565b816125c892903d10611a9957611a868183610810565b5090565b5050505050505050600090565b50831561254b565b6125f89150893d8b11611a9957611a868183610810565b38612507565b9161260d9061112c92846115a7565b6001600160a01b038316600081815260cd6020908152604091829020849055815192835282018390529193917f2f992d01b594c040f05262961e43f8311e780be5fee3deb4c57880dd6374d12d9190819081016107d956fea2646970667358221220565b7fb9a5fa1a0e6f4239b274f7cc9b0b30ecce52124207af01c3887f5fd2a964736f6c63430008130033";
662
1160
  const isSuperArgs = (xs) => xs.length > 1;
663
1161
  class RedemptionManager__factory extends ethers_1.ContractFactory {
664
1162
  constructor(...args) {