@venusprotocol/protocol-reserve 1.0.0-dev.1 → 1.0.0-dev.2

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 (93) hide show
  1. package/package.json +4 -7
  2. package/typechain/@openzeppelin/contracts/access/IAccessControl.ts +343 -0
  3. package/typechain/@openzeppelin/contracts/access/index.ts +4 -0
  4. package/typechain/@openzeppelin/contracts/index.ts +11 -0
  5. package/typechain/@openzeppelin/contracts/token/ERC20/ERC20.ts +466 -0
  6. package/typechain/@openzeppelin/contracts/token/ERC20/IERC20.ts +344 -0
  7. package/typechain/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +386 -0
  8. package/typechain/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
  9. package/typechain/@openzeppelin/contracts/token/ERC20/index.ts +10 -0
  10. package/typechain/@openzeppelin/contracts/token/index.ts +8 -0
  11. package/typechain/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.ts +264 -0
  12. package/typechain/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +190 -0
  13. package/typechain/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  14. package/typechain/@openzeppelin/contracts-upgradeable/index.ts +17 -0
  15. package/typechain/@openzeppelin/contracts-upgradeable/proxy/index.ts +8 -0
  16. package/typechain/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +72 -0
  17. package/typechain/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +4 -0
  18. package/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.ts +344 -0
  19. package/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.ts +195 -0
  20. package/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/index.ts +4 -0
  21. package/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.ts +8 -0
  22. package/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts +9 -0
  23. package/typechain/@openzeppelin/contracts-upgradeable/token/index.ts +8 -0
  24. package/typechain/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +72 -0
  25. package/typechain/@openzeppelin/contracts-upgradeable/utils/index.ts +4 -0
  26. package/typechain/@openzeppelin/index.ts +11 -0
  27. package/typechain/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.ts +344 -0
  28. package/typechain/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.ts +530 -0
  29. package/typechain/@venusprotocol/governance-contracts/contracts/Governance/index.ts +5 -0
  30. package/typechain/@venusprotocol/governance-contracts/contracts/index.ts +8 -0
  31. package/typechain/@venusprotocol/governance-contracts/index.ts +8 -0
  32. package/typechain/@venusprotocol/index.ts +8 -0
  33. package/typechain/common.ts +48 -0
  34. package/typechain/contracts/Interfaces/ComptrollerInterface.ts +90 -0
  35. package/typechain/contracts/Interfaces/IIncomeDestination.ts +112 -0
  36. package/typechain/contracts/Interfaces/IPrime.ts +202 -0
  37. package/typechain/contracts/Interfaces/IProtocolShareReserve.ts +122 -0
  38. package/typechain/contracts/Interfaces/IVToken.ts +87 -0
  39. package/typechain/contracts/Interfaces/PoolRegistryInterface.ts +110 -0
  40. package/typechain/contracts/Interfaces/index.ts +9 -0
  41. package/typechain/contracts/ProtocolReserve/ProtocolShareReserve.ts +1100 -0
  42. package/typechain/contracts/ProtocolReserve/index.ts +4 -0
  43. package/typechain/contracts/Test/Mocks/MockToken.ts +498 -0
  44. package/typechain/contracts/Test/Mocks/index.ts +4 -0
  45. package/typechain/contracts/Test/index.ts +8 -0
  46. package/typechain/contracts/index.ts +14 -0
  47. package/typechain/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +199 -0
  48. package/typechain/factories/@openzeppelin/contracts/access/index.ts +4 -0
  49. package/typechain/factories/@openzeppelin/contracts/index.ts +5 -0
  50. package/typechain/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +352 -0
  51. package/typechain/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +207 -0
  52. package/typechain/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +249 -0
  53. package/typechain/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
  54. package/typechain/factories/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
  55. package/typechain/factories/@openzeppelin/contracts/token/index.ts +4 -0
  56. package/typechain/factories/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable__factory.ts +135 -0
  57. package/typechain/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +92 -0
  58. package/typechain/factories/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  59. package/typechain/factories/@openzeppelin/contracts-upgradeable/index.ts +7 -0
  60. package/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +4 -0
  61. package/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +40 -0
  62. package/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +4 -0
  63. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.ts +210 -0
  64. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable__factory.ts +106 -0
  65. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/index.ts +4 -0
  66. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.ts +4 -0
  67. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts +5 -0
  68. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/index.ts +4 -0
  69. package/typechain/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +40 -0
  70. package/typechain/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +4 -0
  71. package/typechain/factories/@openzeppelin/index.ts +5 -0
  72. package/typechain/factories/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8__factory.ts +197 -0
  73. package/typechain/factories/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8__factory.ts +302 -0
  74. package/typechain/factories/@venusprotocol/governance-contracts/contracts/Governance/index.ts +5 -0
  75. package/typechain/factories/@venusprotocol/governance-contracts/contracts/index.ts +4 -0
  76. package/typechain/factories/@venusprotocol/governance-contracts/index.ts +4 -0
  77. package/typechain/factories/@venusprotocol/index.ts +4 -0
  78. package/typechain/factories/contracts/Interfaces/ComptrollerInterface__factory.ts +44 -0
  79. package/typechain/factories/contracts/Interfaces/IIncomeDestination__factory.ts +45 -0
  80. package/typechain/factories/contracts/Interfaces/IPrime__factory.ts +87 -0
  81. package/typechain/factories/contracts/Interfaces/IProtocolShareReserve__factory.ts +54 -0
  82. package/typechain/factories/contracts/Interfaces/IVToken__factory.ts +40 -0
  83. package/typechain/factories/contracts/Interfaces/PoolRegistryInterface__factory.ts +55 -0
  84. package/typechain/factories/contracts/Interfaces/index.ts +9 -0
  85. package/typechain/factories/contracts/ProtocolReserve/ProtocolShareReserve__factory.ts +815 -0
  86. package/typechain/factories/contracts/ProtocolReserve/index.ts +4 -0
  87. package/typechain/factories/contracts/Test/Mocks/MockToken__factory.ts +392 -0
  88. package/typechain/factories/contracts/Test/Mocks/index.ts +4 -0
  89. package/typechain/factories/contracts/Test/index.ts +4 -0
  90. package/typechain/factories/contracts/index.ts +6 -0
  91. package/typechain/factories/index.ts +6 -0
  92. package/typechain/hardhat.d.ts +213 -0
  93. package/typechain/index.ts +55 -0
@@ -0,0 +1,815 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+
3
+ /* tslint:disable */
4
+
5
+ /* eslint-disable */
6
+ import type { PromiseOrValue } from "../../../common";
7
+ import type {
8
+ ProtocolShareReserve,
9
+ ProtocolShareReserveInterface,
10
+ } from "../../../contracts/ProtocolReserve/ProtocolShareReserve";
11
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
12
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
13
+
14
+ const _abi = [
15
+ {
16
+ inputs: [
17
+ {
18
+ internalType: "address",
19
+ name: "_corePoolComptroller",
20
+ type: "address",
21
+ },
22
+ {
23
+ internalType: "address",
24
+ name: "_wbnb",
25
+ type: "address",
26
+ },
27
+ {
28
+ internalType: "address",
29
+ name: "_vbnb",
30
+ type: "address",
31
+ },
32
+ ],
33
+ stateMutability: "nonpayable",
34
+ type: "constructor",
35
+ },
36
+ {
37
+ inputs: [],
38
+ name: "InvalidAddress",
39
+ type: "error",
40
+ },
41
+ {
42
+ inputs: [],
43
+ name: "InvalidTotalPercentage",
44
+ type: "error",
45
+ },
46
+ {
47
+ inputs: [
48
+ {
49
+ internalType: "address",
50
+ name: "sender",
51
+ type: "address",
52
+ },
53
+ {
54
+ internalType: "address",
55
+ name: "calledContract",
56
+ type: "address",
57
+ },
58
+ {
59
+ internalType: "string",
60
+ name: "methodSignature",
61
+ type: "string",
62
+ },
63
+ ],
64
+ name: "Unauthorized",
65
+ type: "error",
66
+ },
67
+ {
68
+ anonymous: false,
69
+ inputs: [
70
+ {
71
+ indexed: true,
72
+ internalType: "address",
73
+ name: "destination",
74
+ type: "address",
75
+ },
76
+ {
77
+ indexed: true,
78
+ internalType: "address",
79
+ name: "asset",
80
+ type: "address",
81
+ },
82
+ {
83
+ indexed: false,
84
+ internalType: "enum ProtocolShareReserve.Schema",
85
+ name: "schema",
86
+ type: "uint8",
87
+ },
88
+ {
89
+ indexed: false,
90
+ internalType: "uint256",
91
+ name: "percent",
92
+ type: "uint256",
93
+ },
94
+ {
95
+ indexed: false,
96
+ internalType: "uint256",
97
+ name: "amount",
98
+ type: "uint256",
99
+ },
100
+ ],
101
+ name: "AssetReleased",
102
+ type: "event",
103
+ },
104
+ {
105
+ anonymous: false,
106
+ inputs: [
107
+ {
108
+ indexed: true,
109
+ internalType: "address",
110
+ name: "comptroller",
111
+ type: "address",
112
+ },
113
+ {
114
+ indexed: true,
115
+ internalType: "address",
116
+ name: "asset",
117
+ type: "address",
118
+ },
119
+ {
120
+ indexed: false,
121
+ internalType: "uint256",
122
+ name: "amount",
123
+ type: "uint256",
124
+ },
125
+ {
126
+ indexed: false,
127
+ internalType: "enum IProtocolShareReserve.IncomeType",
128
+ name: "incomeType",
129
+ type: "uint8",
130
+ },
131
+ {
132
+ indexed: false,
133
+ internalType: "enum ProtocolShareReserve.Schema",
134
+ name: "schema",
135
+ type: "uint8",
136
+ },
137
+ ],
138
+ name: "AssetsReservesUpdated",
139
+ type: "event",
140
+ },
141
+ {
142
+ anonymous: false,
143
+ inputs: [
144
+ {
145
+ indexed: true,
146
+ internalType: "address",
147
+ name: "destination",
148
+ type: "address",
149
+ },
150
+ {
151
+ indexed: false,
152
+ internalType: "uint256",
153
+ name: "percent",
154
+ type: "uint256",
155
+ },
156
+ {
157
+ indexed: false,
158
+ internalType: "enum ProtocolShareReserve.Schema",
159
+ name: "schema",
160
+ type: "uint8",
161
+ },
162
+ ],
163
+ name: "DestinationConfigured",
164
+ type: "event",
165
+ },
166
+ {
167
+ anonymous: false,
168
+ inputs: [
169
+ {
170
+ indexed: true,
171
+ internalType: "address",
172
+ name: "destination",
173
+ type: "address",
174
+ },
175
+ {
176
+ indexed: false,
177
+ internalType: "uint256",
178
+ name: "percentage",
179
+ type: "uint256",
180
+ },
181
+ {
182
+ indexed: false,
183
+ internalType: "enum ProtocolShareReserve.Schema",
184
+ name: "schema",
185
+ type: "uint8",
186
+ },
187
+ ],
188
+ name: "DistributionConfigAdded",
189
+ type: "event",
190
+ },
191
+ {
192
+ anonymous: false,
193
+ inputs: [
194
+ {
195
+ indexed: true,
196
+ internalType: "address",
197
+ name: "destination",
198
+ type: "address",
199
+ },
200
+ {
201
+ indexed: false,
202
+ internalType: "uint256",
203
+ name: "oldPercentage",
204
+ type: "uint256",
205
+ },
206
+ {
207
+ indexed: false,
208
+ internalType: "uint256",
209
+ name: "newPercentage",
210
+ type: "uint256",
211
+ },
212
+ {
213
+ indexed: false,
214
+ internalType: "enum ProtocolShareReserve.Schema",
215
+ name: "schema",
216
+ type: "uint8",
217
+ },
218
+ ],
219
+ name: "DistributionConfigUpdated",
220
+ type: "event",
221
+ },
222
+ {
223
+ anonymous: false,
224
+ inputs: [
225
+ {
226
+ indexed: false,
227
+ internalType: "uint8",
228
+ name: "version",
229
+ type: "uint8",
230
+ },
231
+ ],
232
+ name: "Initialized",
233
+ type: "event",
234
+ },
235
+ {
236
+ anonymous: false,
237
+ inputs: [
238
+ {
239
+ indexed: false,
240
+ internalType: "address",
241
+ name: "oldAccessControlManager",
242
+ type: "address",
243
+ },
244
+ {
245
+ indexed: false,
246
+ internalType: "address",
247
+ name: "newAccessControlManager",
248
+ type: "address",
249
+ },
250
+ ],
251
+ name: "NewAccessControlManager",
252
+ type: "event",
253
+ },
254
+ {
255
+ anonymous: false,
256
+ inputs: [
257
+ {
258
+ indexed: true,
259
+ internalType: "address",
260
+ name: "previousOwner",
261
+ type: "address",
262
+ },
263
+ {
264
+ indexed: true,
265
+ internalType: "address",
266
+ name: "newOwner",
267
+ type: "address",
268
+ },
269
+ ],
270
+ name: "OwnershipTransferStarted",
271
+ type: "event",
272
+ },
273
+ {
274
+ anonymous: false,
275
+ inputs: [
276
+ {
277
+ indexed: true,
278
+ internalType: "address",
279
+ name: "previousOwner",
280
+ type: "address",
281
+ },
282
+ {
283
+ indexed: true,
284
+ internalType: "address",
285
+ name: "newOwner",
286
+ type: "address",
287
+ },
288
+ ],
289
+ name: "OwnershipTransferred",
290
+ type: "event",
291
+ },
292
+ {
293
+ anonymous: false,
294
+ inputs: [
295
+ {
296
+ indexed: true,
297
+ internalType: "address",
298
+ name: "oldPoolRegistry",
299
+ type: "address",
300
+ },
301
+ {
302
+ indexed: true,
303
+ internalType: "address",
304
+ name: "newPoolRegistry",
305
+ type: "address",
306
+ },
307
+ ],
308
+ name: "PoolRegistryUpdated",
309
+ type: "event",
310
+ },
311
+ {
312
+ anonymous: false,
313
+ inputs: [
314
+ {
315
+ indexed: true,
316
+ internalType: "address",
317
+ name: "oldPrime",
318
+ type: "address",
319
+ },
320
+ {
321
+ indexed: true,
322
+ internalType: "address",
323
+ name: "newPrime",
324
+ type: "address",
325
+ },
326
+ ],
327
+ name: "PrimeUpdated",
328
+ type: "event",
329
+ },
330
+ {
331
+ anonymous: false,
332
+ inputs: [
333
+ {
334
+ indexed: true,
335
+ internalType: "address",
336
+ name: "comptroller",
337
+ type: "address",
338
+ },
339
+ {
340
+ indexed: true,
341
+ internalType: "address",
342
+ name: "asset",
343
+ type: "address",
344
+ },
345
+ {
346
+ indexed: false,
347
+ internalType: "enum ProtocolShareReserve.Schema",
348
+ name: "schema",
349
+ type: "uint8",
350
+ },
351
+ {
352
+ indexed: false,
353
+ internalType: "uint256",
354
+ name: "oldBalance",
355
+ type: "uint256",
356
+ },
357
+ {
358
+ indexed: false,
359
+ internalType: "uint256",
360
+ name: "newBalance",
361
+ type: "uint256",
362
+ },
363
+ ],
364
+ name: "ReservesUpdated",
365
+ type: "event",
366
+ },
367
+ {
368
+ inputs: [],
369
+ name: "CORE_POOL_COMPTROLLER",
370
+ outputs: [
371
+ {
372
+ internalType: "address",
373
+ name: "",
374
+ type: "address",
375
+ },
376
+ ],
377
+ stateMutability: "view",
378
+ type: "function",
379
+ },
380
+ {
381
+ inputs: [],
382
+ name: "WBNB",
383
+ outputs: [
384
+ {
385
+ internalType: "address",
386
+ name: "",
387
+ type: "address",
388
+ },
389
+ ],
390
+ stateMutability: "view",
391
+ type: "function",
392
+ },
393
+ {
394
+ inputs: [],
395
+ name: "acceptOwnership",
396
+ outputs: [],
397
+ stateMutability: "nonpayable",
398
+ type: "function",
399
+ },
400
+ {
401
+ inputs: [],
402
+ name: "accessControlManager",
403
+ outputs: [
404
+ {
405
+ internalType: "contract IAccessControlManagerV8",
406
+ name: "",
407
+ type: "address",
408
+ },
409
+ ],
410
+ stateMutability: "view",
411
+ type: "function",
412
+ },
413
+ {
414
+ inputs: [
415
+ {
416
+ components: [
417
+ {
418
+ internalType: "enum ProtocolShareReserve.Schema",
419
+ name: "schema",
420
+ type: "uint8",
421
+ },
422
+ {
423
+ internalType: "uint256",
424
+ name: "percentage",
425
+ type: "uint256",
426
+ },
427
+ {
428
+ internalType: "address",
429
+ name: "destination",
430
+ type: "address",
431
+ },
432
+ ],
433
+ internalType: "struct ProtocolShareReserve.DistributionConfig[]",
434
+ name: "configs",
435
+ type: "tuple[]",
436
+ },
437
+ ],
438
+ name: "addOrUpdateDistributionConfigs",
439
+ outputs: [],
440
+ stateMutability: "nonpayable",
441
+ type: "function",
442
+ },
443
+ {
444
+ inputs: [
445
+ {
446
+ internalType: "address",
447
+ name: "",
448
+ type: "address",
449
+ },
450
+ {
451
+ internalType: "address",
452
+ name: "",
453
+ type: "address",
454
+ },
455
+ {
456
+ internalType: "enum ProtocolShareReserve.Schema",
457
+ name: "",
458
+ type: "uint8",
459
+ },
460
+ ],
461
+ name: "assetsReserves",
462
+ outputs: [
463
+ {
464
+ internalType: "uint256",
465
+ name: "",
466
+ type: "uint256",
467
+ },
468
+ ],
469
+ stateMutability: "view",
470
+ type: "function",
471
+ },
472
+ {
473
+ inputs: [
474
+ {
475
+ internalType: "uint256",
476
+ name: "",
477
+ type: "uint256",
478
+ },
479
+ ],
480
+ name: "distributionTargets",
481
+ outputs: [
482
+ {
483
+ internalType: "enum ProtocolShareReserve.Schema",
484
+ name: "schema",
485
+ type: "uint8",
486
+ },
487
+ {
488
+ internalType: "uint256",
489
+ name: "percentage",
490
+ type: "uint256",
491
+ },
492
+ {
493
+ internalType: "address",
494
+ name: "destination",
495
+ type: "address",
496
+ },
497
+ ],
498
+ stateMutability: "view",
499
+ type: "function",
500
+ },
501
+ {
502
+ inputs: [
503
+ {
504
+ internalType: "address",
505
+ name: "comptroller",
506
+ type: "address",
507
+ },
508
+ {
509
+ internalType: "enum ProtocolShareReserve.Schema",
510
+ name: "schema",
511
+ type: "uint8",
512
+ },
513
+ {
514
+ internalType: "address",
515
+ name: "destination",
516
+ type: "address",
517
+ },
518
+ {
519
+ internalType: "address",
520
+ name: "asset",
521
+ type: "address",
522
+ },
523
+ ],
524
+ name: "getUnreleasedFunds",
525
+ outputs: [
526
+ {
527
+ internalType: "uint256",
528
+ name: "",
529
+ type: "uint256",
530
+ },
531
+ ],
532
+ stateMutability: "view",
533
+ type: "function",
534
+ },
535
+ {
536
+ inputs: [
537
+ {
538
+ internalType: "address",
539
+ name: "_accessControlManager",
540
+ type: "address",
541
+ },
542
+ ],
543
+ name: "initialize",
544
+ outputs: [],
545
+ stateMutability: "nonpayable",
546
+ type: "function",
547
+ },
548
+ {
549
+ inputs: [],
550
+ name: "owner",
551
+ outputs: [
552
+ {
553
+ internalType: "address",
554
+ name: "",
555
+ type: "address",
556
+ },
557
+ ],
558
+ stateMutability: "view",
559
+ type: "function",
560
+ },
561
+ {
562
+ inputs: [],
563
+ name: "pendingOwner",
564
+ outputs: [
565
+ {
566
+ internalType: "address",
567
+ name: "",
568
+ type: "address",
569
+ },
570
+ ],
571
+ stateMutability: "view",
572
+ type: "function",
573
+ },
574
+ {
575
+ inputs: [],
576
+ name: "poolRegistry",
577
+ outputs: [
578
+ {
579
+ internalType: "address",
580
+ name: "",
581
+ type: "address",
582
+ },
583
+ ],
584
+ stateMutability: "view",
585
+ type: "function",
586
+ },
587
+ {
588
+ inputs: [],
589
+ name: "prime",
590
+ outputs: [
591
+ {
592
+ internalType: "address",
593
+ name: "",
594
+ type: "address",
595
+ },
596
+ ],
597
+ stateMutability: "view",
598
+ type: "function",
599
+ },
600
+ {
601
+ inputs: [
602
+ {
603
+ internalType: "address",
604
+ name: "comptroller",
605
+ type: "address",
606
+ },
607
+ {
608
+ internalType: "address[]",
609
+ name: "assets",
610
+ type: "address[]",
611
+ },
612
+ ],
613
+ name: "releaseFunds",
614
+ outputs: [],
615
+ stateMutability: "nonpayable",
616
+ type: "function",
617
+ },
618
+ {
619
+ inputs: [],
620
+ name: "renounceOwnership",
621
+ outputs: [],
622
+ stateMutability: "nonpayable",
623
+ type: "function",
624
+ },
625
+ {
626
+ inputs: [
627
+ {
628
+ internalType: "address",
629
+ name: "accessControlManager_",
630
+ type: "address",
631
+ },
632
+ ],
633
+ name: "setAccessControlManager",
634
+ outputs: [],
635
+ stateMutability: "nonpayable",
636
+ type: "function",
637
+ },
638
+ {
639
+ inputs: [
640
+ {
641
+ internalType: "address",
642
+ name: "_poolRegistry",
643
+ type: "address",
644
+ },
645
+ ],
646
+ name: "setPoolRegistry",
647
+ outputs: [],
648
+ stateMutability: "nonpayable",
649
+ type: "function",
650
+ },
651
+ {
652
+ inputs: [
653
+ {
654
+ internalType: "address",
655
+ name: "_prime",
656
+ type: "address",
657
+ },
658
+ ],
659
+ name: "setPrime",
660
+ outputs: [],
661
+ stateMutability: "nonpayable",
662
+ type: "function",
663
+ },
664
+ {
665
+ inputs: [
666
+ {
667
+ internalType: "address",
668
+ name: "",
669
+ type: "address",
670
+ },
671
+ ],
672
+ name: "totalAssetReserve",
673
+ outputs: [
674
+ {
675
+ internalType: "uint256",
676
+ name: "",
677
+ type: "uint256",
678
+ },
679
+ ],
680
+ stateMutability: "view",
681
+ type: "function",
682
+ },
683
+ {
684
+ inputs: [],
685
+ name: "totalDistributions",
686
+ outputs: [
687
+ {
688
+ internalType: "uint256",
689
+ name: "",
690
+ type: "uint256",
691
+ },
692
+ ],
693
+ stateMutability: "view",
694
+ type: "function",
695
+ },
696
+ {
697
+ inputs: [
698
+ {
699
+ internalType: "address",
700
+ name: "newOwner",
701
+ type: "address",
702
+ },
703
+ ],
704
+ name: "transferOwnership",
705
+ outputs: [],
706
+ stateMutability: "nonpayable",
707
+ type: "function",
708
+ },
709
+ {
710
+ inputs: [
711
+ {
712
+ internalType: "address",
713
+ name: "comptroller",
714
+ type: "address",
715
+ },
716
+ {
717
+ internalType: "address",
718
+ name: "asset",
719
+ type: "address",
720
+ },
721
+ {
722
+ internalType: "enum IProtocolShareReserve.IncomeType",
723
+ name: "incomeType",
724
+ type: "uint8",
725
+ },
726
+ ],
727
+ name: "updateAssetsState",
728
+ outputs: [],
729
+ stateMutability: "nonpayable",
730
+ type: "function",
731
+ },
732
+ {
733
+ inputs: [],
734
+ name: "vBNB",
735
+ outputs: [
736
+ {
737
+ internalType: "address",
738
+ name: "",
739
+ type: "address",
740
+ },
741
+ ],
742
+ stateMutability: "view",
743
+ type: "function",
744
+ },
745
+ ] as const;
746
+
747
+ const _bytecode =
748
+ "0x60e06040523480156200001157600080fd5b5060405162002ea438038062002ea48339810160408190526200003491620001b7565b6001600160a01b0383166200005c5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038216620000845760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038116620000ac5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0380841660805282811660a052811660c052620000cf620000d8565b50505062000201565b600054610100900460ff1615620001455760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000198576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b0381168114620001b257600080fd5b919050565b600080600060608486031215620001cd57600080fd5b620001d8846200019a565b9250620001e8602085016200019a565b9150620001f8604085016200019a565b90509250925092565b60805160a05160c051612c5062000254600039600081816101d60152611f870152600081816102af0152611fc101526000818161038a015281816104ac0152818161128501526115390152612c506000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c80638dd95002116100e3578063c7ee005e1161008c578063f2fde38b11610066578063f2fde38b14610372578063fa7b81a014610385578063fc31116a146103ac57600080fd5b8063c7ee005e1461033b578063c9e18c6f1461034e578063e30c39781461036157600080fd5b8063b4a0bdf3116100bd578063b4a0bdf314610304578063ba879b5b14610315578063c4d66de81461032857600080fd5b80638dd95002146102aa578063aea21121146102d1578063afcff50f146102f157600080fd5b80635db6da12116101455780637b77cd6a1161011f5780637b77cd6a14610273578063893ffe98146102865780638da5cb5b1461029957600080fd5b80635db6da1214610232578063715018a61461026357806379ba50971461026b57600080fd5b806316faecec1161017657806316faecec146101be57806333e1567f146101d1578063392ee7121461021057600080fd5b80630e32cb8614610192578063163db71b146101a7575b600080fd5b6101a56101a0366004612472565b6103bf565b005b60cd545b6040519081526020015b60405180910390f35b6101a56101cc3660046124a3565b6103d3565b6101f87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101b5565b61022361021e3660046124ee565b61076c565b6040516101b59392919061256d565b6101ab6102403660046124a3565b60cb60209081526000938452604080852082529284528284209052825290205481565b6101a56107ac565b6101a56107c0565b6101a5610281366004612472565b610850565b6101ab610294366004612597565b610938565b6033546001600160a01b03166101f8565b6101f87f000000000000000000000000000000000000000000000000000000000000000081565b6101ab6102df366004612472565b60cc6020526000908152604090205481565b60ca546101f8906001600160a01b031681565b6097546001600160a01b03166101f8565b6101a56103233660046126be565b610a51565b6101a5610336366004612472565b610d63565b60c9546101f8906001600160a01b031681565b6101a561035c366004612472565b610ede565b6065546001600160a01b03166101f8565b6101a5610380366004612472565b610fc6565b6101f87f000000000000000000000000000000000000000000000000000000000000000081565b6101a56103ba366004612793565b61104f565b6103c761109b565b6103d0816110f5565b50565b826001600160a01b0316627e3dd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610410573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104349190612842565b61046a576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166104aa576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614158015610582575060ca546040517f266e0a7f0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301528481166024830152600092169063266e0a7f90604401602060405180830381865afa158015610553573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105779190612864565b6001600160a01b0316145b156105b9576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006105c68484846111e3565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529091506000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064d9190612881565b6001600160a01b038516600090815260cc602052604090205490915080821115610764576001600160a01b03808716600090815260cb602090815260408083209389168352929052908120828403918291908660018111156106b1576106b1612507565b60018111156106c2576106c2612507565b815260200190815260200160002060008282546106df91906128c9565b90915550506001600160a01b038616600090815260cc60205260408120805483929061070c9084906128c9565b92505081905550856001600160a01b0316876001600160a01b03167fa46b2431e663cf7b50c9d5129aff85d2394ecfd447b7ccba83986510a9d945ea83888860405161075a939291906128e1565b60405180910390a3505b505050505050565b60cd818154811061077c57600080fd5b600091825260209091206003909102018054600182015460029092015460ff90911692506001600160a01b031683565b6107b461109b565b6107be60006112e8565b565b60655433906001600160a01b031681146108475760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103d0816112e8565b61088e6040518060400160405280601881526020017f736574506f6f6c52656769737472792861646472657373290000000000000000815250611319565b6001600160a01b0381166108ce576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ca80546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907fa87b964d321035d2165e484ff4b722dd6eae30606c0b98887d2ed1a34e594bfe90600090a35050565b6000805b60cd54811015610a4757600060cd828154811061095b5761095b61290e565b9060005260206000209060030201905085600181111561097d5761097d612507565b815460ff16600181111561099357610993612507565b1480156109af575060028101546001600160a01b038681169116145b15610a36576001600160a01b03808816600090815260cb602090815260408083209388168352929052908120818860018111156109ee576109ee612507565b60018111156109ff576109ff612507565b81526020019081526020016000205490506064826001015482610a22919061293d565b610a2c919061297a565b9350505050610a49565b50610a40816129b5565b905061093c565b505b949350505050565b610a72604051806060016040528060328152602001612be960329139611319565b610a7a6113e5565b60005b8151811015610d5a576000828281518110610a9a57610a9a61290e565b6020026020010151905060006001600160a01b031681604001516001600160a01b031603610b305760405162461bcd60e51b815260206004820152603160248201527f50726f746f636f6c5368617265526573657276653a2044657374696e6174696f60448201527f6e206164647265737320696e76616c6964000000000000000000000000000000606482015260840161083e565b6000805b60cd54811015610c3557600060cd8281548110610b5357610b5361290e565b60009182526020909120600390910201805490915060ff166001811115610b7c57610b7c612507565b84516001811115610b8f57610b8f612507565b148015610bb05750604084015160028201546001600160a01b039081169116145b15610c245760028101546001820154602086015183546040516001600160a01b03909416937f86425c9fc7b14328a4d53181ae1cafa5c44688f63636e30200b7384984ac17b893610c0a939092909160ff909116906129ed565b60405180910390a260208401516001918201559150610c35565b50610c2e816129b5565b9050610b34565b5080610d475760cd805460018181018355600092909252835160039091027f83978b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e018054859391929183917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016908381811115610cb257610cb2612507565b02179055506020828101516001830155604092830151600290920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0393841617905584830151908501518551935191909216927fbfee2691582b93dec113181471d377f858f39c4ba82e135be3d4d7240b11ed3c92610d3e92909190612a04565b60405180910390a25b505080610d53906129b5565b9050610a7d565b506103d0611577565b600054610100900460ff1615808015610d835750600054600160ff909116105b80610d9d5750303b158015610d9d575060005460ff166001145b610e0f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161083e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610e6d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610e7682611750565b8015610eda57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b5050565b610f1c6040518060400160405280601181526020017f7365745072696d65286164647265737329000000000000000000000000000000815250611319565b6001600160a01b038116610f5c576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c980546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f229f487e93a5313f6898190adf00c62e8b5d4c9c46249d31a9cd8a8024007bce90600090a35050565b610fce61109b565b606580546001600160a01b0383167fffffffffffffffffffffffff000000000000000000000000000000000000000090911681179091556110176033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6110576117de565b60005b815181101561109657611086838383815181106110795761107961290e565b602002602001015161193f565b61108f816129b5565b905061105a565b505050565b6033546001600160a01b031633146107be5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161083e565b6001600160a01b0381166111715760405162461bcd60e51b815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161083e565b609780546001600160a01b038381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa09101610ed1565b60c9546040517fee6b13fc0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152600092839291169063ee6b13fc90602401602060405180830381865afa15801561124a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126e9190612864565b90506001600160a01b038116158015906112b957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b80156112d6575060008360018111156112d4576112d4612507565b145b156112e057600191505b509392505050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556103d081611f19565b6097546040517f18c5e8ab0000000000000000000000000000000000000000000000000000000081526000916001600160a01b0316906318c5e8ab906113659033908690600401612a9b565b602060405180830381865afa158015611382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a69190612842565b905080610eda573330836040517f4a3fa29300000000000000000000000000000000000000000000000000000000815260040161083e93929190612abd565b60c954604080517f375a7cba00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163375a7cba91600480830192869291908290030181865afa158015611447573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261148d9190810190612af2565b905060005b8151811015610eda5760008282815181106114af576114af61290e565b602090810291909101015160c9546040517f9198e5150000000000000000000000000000000000000000000000000000000081526001600160a01b038084166004830152929350911690639198e51590602401600060405180830381600087803b15801561151c57600080fd5b505af1158015611530573d6000803e3d6000fd5b505050506115667f000000000000000000000000000000000000000000000000000000000000000061156183611f83565b61193f565b50611570816129b5565b9050611492565b60006115846001806128c9565b905060008167ffffffffffffffff8111156115a1576115a16125f3565b6040519080825280602002602001820160405280156115ca578160200160208202803683370190505b50905060005b60cd548110156116b057600060cd82815481106115ef576115ef61290e565b6000918252602090912060408051606081019091526003909202018054829060ff16600181111561162257611622612507565b600181111561163357611633612507565b81526001828101546020808401919091526002909301546001600160a01b031660409092019190915290820151825192935091859181111561167757611677612507565b815181106116875761168761290e565b6020026020010181815161169b91906128c9565b9052506116a99050816129b5565b90506115d0565b5060005b6116bf600184612b81565b81116110965760648282815181106116d9576116d961290e565b60200260200101511415801561170957508181815181106116fc576116fc61290e565b6020026020010151600014155b15611740576040517f0b8ad7f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611749816129b5565b90506116b4565b600054610100900460ff166117cd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161083e565b6117d561204d565b6103d0816120d2565b60c954604080517f375a7cba00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163375a7cba91600480830192869291908290030181865afa158015611840573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526118869190810190612af2565b905060005b8151811015610eda5760008282815181106118a8576118a861290e565b602090810291909101015160c9546040517f9198e5150000000000000000000000000000000000000000000000000000000081526001600160a01b038084166004830152929350911690639198e51590602401600060405180830381600087803b15801561191557600080fd5b505af1158015611929573d6000803e3d6000fd5b505050505080611938906129b5565b905061188b565b600061194c6001806128c9565b905060008167ffffffffffffffff811115611969576119696125f3565b604051908082528060200260200182016040528015611992578160200160208202803683370190505b5090506000805b83811015611a61576001600160a01b03808716600090815260cb602090815260408083209389168352929052908120908260018111156119db576119db612507565b60018111156119ec576119ec612507565b60018111156119fd576119fd612507565b815260200190815260200160002054838281518110611a1e57611a1e61290e565b602002602001018181525050828181518110611a3c57611a3c61290e565b602002602001015182611a4f91906128c9565b9150611a5a816129b5565b9050611999565b5080600003611a71575050505050565b60008367ffffffffffffffff811115611a8c57611a8c6125f3565b604051908082528060200260200182016040528015611ab5578160200160208202803683370190505b50905060005b60cd54811015611cdf57600060cd8281548110611ada57611ada61290e565b6000918252602090912060408051606081019091526003909202018054829060ff166001811115611b0d57611b0d612507565b6001811115611b1e57611b1e612507565b81526001828101546020808401919091526002909301546001600160a01b0316604090920191909152908201518251929350600092606492899190811115611b6857611b68612507565b81518110611b7857611b7861290e565b6020026020010151611b8a919061293d565b611b94919061297a565b9050808483600001516001811115611bae57611bae612507565b81518110611bbe57611bbe61290e565b60200260200101818151611bd291906128c9565b9052506040820151611bef906001600160a01b038a16908361214f565b60408083015190517faac59a750000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301528a811660248301529091169063aac59a7590604401600060405180830381600087803b158015611c5957600080fd5b505af1158015611c6d573d6000803e3d6000fd5b50505050876001600160a01b031682604001516001600160a01b03167f09f71e7b22d78540ee9a42f09917a9d62f46735cb0dfa70d6bab27866d9cb5008460000151856020015185604051611cc493929190612b98565b60405180910390a3505080611cd8906129b5565b9050611abb565b5060008467ffffffffffffffff811115611cfb57611cfb6125f3565b604051908082528060200260200182016040528015611d24578160200160208202803683370190505b50905060005b85811015611f0f57828181518110611d4457611d4461290e565b6020026020010151858281518110611d5e57611d5e61290e565b6020026020010151611d709190612b81565b828281518110611d8257611d8261290e565b602002602001018181525050818181518110611da057611da061290e565b6020908102919091018101516001600160a01b03808b16600090815260cb84526040808220928c1682529190935282209091836001811115611de457611de4612507565b6001811115611df557611df5612507565b6001811115611e0657611e06612507565b815260200190815260200160002081905550828181518110611e2a57611e2a61290e565b602002602001015160cc6000896001600160a01b03166001600160a01b0316815260200190815260200160002054611e629190612b81565b6001600160a01b03808916600081815260cc602052604090209290925589167f7d881f3d6246a6a2b97b121b8ba093c17497912c68e8b2bca6108528e91df3ca836001811115611eb457611eb4612507565b888581518110611ec657611ec661290e565b6020026020010151868681518110611ee057611ee061290e565b6020026020010151604051611ef793929190612b98565b60405180910390a3611f08816129b5565b9050611d2a565b5050505050505050565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603611fe557507f0000000000000000000000000000000000000000000000000000000000000000919050565b816001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120479190612864565b92915050565b600054610100900460ff166120ca5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161083e565b6107be6121cf565b600054610100900460ff166103c75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161083e565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052611096908490612255565b600054610100900460ff1661224c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161083e565b6107be336112e8565b60006122aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661233a9092919063ffffffff16565b80519091501561109657808060200190518101906122c89190612842565b6110965760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161083e565b6060610a49848460008585600080866001600160a01b031685876040516123619190612bb9565b60006040518083038185875af1925050503d806000811461239e576040519150601f19603f3d011682016040523d82523d6000602084013e6123a3565b606091505b50915091506123b4878383876123bf565b979650505050505050565b6060831561242e578251600003612427576001600160a01b0385163b6124275760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161083e565b5081610a49565b610a4983838151156124435781518083602001fd5b8060405162461bcd60e51b815260040161083e9190612bd5565b6001600160a01b03811681146103d057600080fd5b60006020828403121561248457600080fd5b813561248f8161245d565b9392505050565b600281106103d057600080fd5b6000806000606084860312156124b857600080fd5b83356124c38161245d565b925060208401356124d38161245d565b915060408401356124e381612496565b809150509250925092565b60006020828403121561250057600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281106103d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6060810161257a85612536565b93815260208101929092526001600160a01b031660409091015290565b600080600080608085870312156125ad57600080fd5b84356125b88161245d565b935060208501356125c881612496565b925060408501356125d88161245d565b915060608501356125e88161245d565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612645576126456125f3565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612692576126926125f3565b604052919050565b600067ffffffffffffffff8211156126b4576126b46125f3565b5060051b60200190565b600060208083850312156126d157600080fd5b823567ffffffffffffffff8111156126e857600080fd5b8301601f810185136126f957600080fd5b803561270c6127078261269a565b61264b565b8181526060918202830184019184820191908884111561272b57600080fd5b938501935b838510156127875780858a0312156127485760008081fd5b612750612622565b853561275b81612496565b815285870135878201526040808701356127748161245d565b9082015283529384019391850191612730565b50979650505050505050565b600080604083850312156127a657600080fd5b82356127b18161245d565b915060208381013567ffffffffffffffff8111156127ce57600080fd5b8401601f810186136127df57600080fd5b80356127ed6127078261269a565b81815260059190911b8201830190838101908883111561280c57600080fd5b928401925b828410156128335783356128248161245d565b82529284019290840190612811565b80955050505050509250929050565b60006020828403121561285457600080fd5b8151801515811461248f57600080fd5b60006020828403121561287657600080fd5b815161248f8161245d565b60006020828403121561289357600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082198211156128dc576128dc61289a565b500190565b838152606081016128f184612536565b83602083015261290083612536565b826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129755761297561289a565b500290565b6000826129b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129e6576129e661289a565b5060010190565b838152602081018390526060810161290083612536565b82815260408101612a1483612536565b8260208301529392505050565b60005b83811015612a3c578181015183820152602001612a24565b83811115612a4b576000848401525b50505050565b60008151808452612a69816020860160208601612a21565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6001600160a01b0383168152604060208201526000610a496040830184612a51565b60006001600160a01b03808616835280851660208401525060606040830152612ae96060830184612a51565b95945050505050565b60006020808385031215612b0557600080fd5b825167ffffffffffffffff811115612b1c57600080fd5b8301601f81018513612b2d57600080fd5b8051612b3b6127078261269a565b81815260059190911b82018301908381019087831115612b5a57600080fd5b928401925b828410156123b4578351612b728161245d565b82529284019290840190612b5f565b600082821015612b9357612b9361289a565b500390565b60608101612ba585612536565b938152602081019290925260409091015290565b60008251612bcb818460208701612a21565b9190910192915050565b60208152600061248f6020830184612a5156fe6164644f72557064617465446973747269627574696f6e436f6e6669677328446973747269627574696f6e436f6e66696729a26469706673582212203811282ceaab1d5f5cee75ac5cc38135b341c6569297b066d72a5a9dd4bd930764736f6c634300080d0033";
749
+
750
+ type ProtocolShareReserveConstructorParams =
751
+ | [signer?: Signer]
752
+ | ConstructorParameters<typeof ContractFactory>;
753
+
754
+ const isSuperArgs = (
755
+ xs: ProtocolShareReserveConstructorParams
756
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
757
+
758
+ export class ProtocolShareReserve__factory extends ContractFactory {
759
+ constructor(...args: ProtocolShareReserveConstructorParams) {
760
+ if (isSuperArgs(args)) {
761
+ super(...args);
762
+ } else {
763
+ super(_abi, _bytecode, args[0]);
764
+ }
765
+ }
766
+
767
+ override deploy(
768
+ _corePoolComptroller: PromiseOrValue<string>,
769
+ _wbnb: PromiseOrValue<string>,
770
+ _vbnb: PromiseOrValue<string>,
771
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
772
+ ): Promise<ProtocolShareReserve> {
773
+ return super.deploy(
774
+ _corePoolComptroller,
775
+ _wbnb,
776
+ _vbnb,
777
+ overrides || {}
778
+ ) as Promise<ProtocolShareReserve>;
779
+ }
780
+ override getDeployTransaction(
781
+ _corePoolComptroller: PromiseOrValue<string>,
782
+ _wbnb: PromiseOrValue<string>,
783
+ _vbnb: PromiseOrValue<string>,
784
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
785
+ ): TransactionRequest {
786
+ return super.getDeployTransaction(
787
+ _corePoolComptroller,
788
+ _wbnb,
789
+ _vbnb,
790
+ overrides || {}
791
+ );
792
+ }
793
+ override attach(address: string): ProtocolShareReserve {
794
+ return super.attach(address) as ProtocolShareReserve;
795
+ }
796
+ override connect(signer: Signer): ProtocolShareReserve__factory {
797
+ return super.connect(signer) as ProtocolShareReserve__factory;
798
+ }
799
+
800
+ static readonly bytecode = _bytecode;
801
+ static readonly abi = _abi;
802
+ static createInterface(): ProtocolShareReserveInterface {
803
+ return new utils.Interface(_abi) as ProtocolShareReserveInterface;
804
+ }
805
+ static connect(
806
+ address: string,
807
+ signerOrProvider: Signer | Provider
808
+ ): ProtocolShareReserve {
809
+ return new Contract(
810
+ address,
811
+ _abi,
812
+ signerOrProvider
813
+ ) as ProtocolShareReserve;
814
+ }
815
+ }