@venusprotocol/isolated-pools 2.2.1-dev.1 → 2.3.0-dev.1

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "address": "0xfB5bE09a1FA6CFDA075aB1E69FE83ce8324682e4",
2
+ "address": "0xD86FCff6CCF5C4E277E49e1dC01Ed4bcAb8260ba",
3
3
  "abi": [
4
4
  {
5
5
  "anonymous": false,
@@ -125,8 +125,40 @@
125
125
  "type": "receive"
126
126
  },
127
127
  {
128
- "inputs": [],
129
- "name": "ZeroAddressNotAllowed",
128
+ "inputs": [
129
+ {
130
+ "internalType": "uint256",
131
+ "name": "loopsLimit",
132
+ "type": "uint256"
133
+ },
134
+ {
135
+ "internalType": "uint256",
136
+ "name": "requiredLoops",
137
+ "type": "uint256"
138
+ }
139
+ ],
140
+ "name": "MaxLoopsLimitExceeded",
141
+ "type": "error"
142
+ },
143
+ {
144
+ "inputs": [
145
+ {
146
+ "internalType": "address",
147
+ "name": "sender",
148
+ "type": "address"
149
+ },
150
+ {
151
+ "internalType": "address",
152
+ "name": "calledContract",
153
+ "type": "address"
154
+ },
155
+ {
156
+ "internalType": "string",
157
+ "name": "methodSignature",
158
+ "type": "string"
159
+ }
160
+ ],
161
+ "name": "Unauthorized",
130
162
  "type": "error"
131
163
  },
132
164
  {
@@ -135,23 +167,36 @@
135
167
  {
136
168
  "indexed": true,
137
169
  "internalType": "address",
138
- "name": "comptroller",
170
+ "name": "vToken",
139
171
  "type": "address"
140
172
  },
173
+ {
174
+ "indexed": false,
175
+ "internalType": "uint32",
176
+ "name": "newBlock",
177
+ "type": "uint32"
178
+ }
179
+ ],
180
+ "name": "BorrowLastRewardingBlockUpdated",
181
+ "type": "event"
182
+ },
183
+ {
184
+ "anonymous": false,
185
+ "inputs": [
141
186
  {
142
187
  "indexed": true,
143
188
  "internalType": "address",
144
- "name": "asset",
189
+ "name": "contributor",
145
190
  "type": "address"
146
191
  },
147
192
  {
148
193
  "indexed": false,
149
194
  "internalType": "uint256",
150
- "name": "amount",
195
+ "name": "newSpeed",
151
196
  "type": "uint256"
152
197
  }
153
198
  ],
154
- "name": "AssetsReservesUpdated",
199
+ "name": "ContributorRewardTokenSpeedUpdated",
155
200
  "type": "event"
156
201
  },
157
202
  {
@@ -160,23 +205,91 @@
160
205
  {
161
206
  "indexed": true,
162
207
  "internalType": "address",
163
- "name": "comptroller",
208
+ "name": "contributor",
209
+ "type": "address"
210
+ },
211
+ {
212
+ "indexed": false,
213
+ "internalType": "uint256",
214
+ "name": "rewardAccrued",
215
+ "type": "uint256"
216
+ }
217
+ ],
218
+ "name": "ContributorRewardsUpdated",
219
+ "type": "event"
220
+ },
221
+ {
222
+ "anonymous": false,
223
+ "inputs": [
224
+ {
225
+ "indexed": true,
226
+ "internalType": "contract VToken",
227
+ "name": "vToken",
164
228
  "type": "address"
165
229
  },
166
230
  {
167
231
  "indexed": true,
168
232
  "internalType": "address",
169
- "name": "asset",
233
+ "name": "borrower",
170
234
  "type": "address"
171
235
  },
172
236
  {
173
237
  "indexed": false,
174
238
  "internalType": "uint256",
175
- "name": "amount",
239
+ "name": "rewardTokenDelta",
240
+ "type": "uint256"
241
+ },
242
+ {
243
+ "indexed": false,
244
+ "internalType": "uint256",
245
+ "name": "rewardTokenTotal",
246
+ "type": "uint256"
247
+ },
248
+ {
249
+ "indexed": false,
250
+ "internalType": "uint256",
251
+ "name": "rewardTokenBorrowIndex",
176
252
  "type": "uint256"
177
253
  }
178
254
  ],
179
- "name": "FundsReleased",
255
+ "name": "DistributedBorrowerRewardToken",
256
+ "type": "event"
257
+ },
258
+ {
259
+ "anonymous": false,
260
+ "inputs": [
261
+ {
262
+ "indexed": true,
263
+ "internalType": "contract VToken",
264
+ "name": "vToken",
265
+ "type": "address"
266
+ },
267
+ {
268
+ "indexed": true,
269
+ "internalType": "address",
270
+ "name": "supplier",
271
+ "type": "address"
272
+ },
273
+ {
274
+ "indexed": false,
275
+ "internalType": "uint256",
276
+ "name": "rewardTokenDelta",
277
+ "type": "uint256"
278
+ },
279
+ {
280
+ "indexed": false,
281
+ "internalType": "uint256",
282
+ "name": "rewardTokenTotal",
283
+ "type": "uint256"
284
+ },
285
+ {
286
+ "indexed": false,
287
+ "internalType": "uint256",
288
+ "name": "rewardTokenSupplyIndex",
289
+ "type": "uint256"
290
+ }
291
+ ],
292
+ "name": "DistributedSupplierRewardToken",
180
293
  "type": "event"
181
294
  },
182
295
  {
@@ -192,6 +305,57 @@
192
305
  "name": "Initialized",
193
306
  "type": "event"
194
307
  },
308
+ {
309
+ "anonymous": false,
310
+ "inputs": [
311
+ {
312
+ "indexed": true,
313
+ "internalType": "address",
314
+ "name": "vToken",
315
+ "type": "address"
316
+ }
317
+ ],
318
+ "name": "MarketInitialized",
319
+ "type": "event"
320
+ },
321
+ {
322
+ "anonymous": false,
323
+ "inputs": [
324
+ {
325
+ "indexed": false,
326
+ "internalType": "uint256",
327
+ "name": "oldMaxLoopsLimit",
328
+ "type": "uint256"
329
+ },
330
+ {
331
+ "indexed": false,
332
+ "internalType": "uint256",
333
+ "name": "newmaxLoopsLimit",
334
+ "type": "uint256"
335
+ }
336
+ ],
337
+ "name": "MaxLoopsLimitUpdated",
338
+ "type": "event"
339
+ },
340
+ {
341
+ "anonymous": false,
342
+ "inputs": [
343
+ {
344
+ "indexed": false,
345
+ "internalType": "address",
346
+ "name": "oldAccessControlManager",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "indexed": false,
351
+ "internalType": "address",
352
+ "name": "newAccessControlManager",
353
+ "type": "address"
354
+ }
355
+ ],
356
+ "name": "NewAccessControlManager",
357
+ "type": "event"
358
+ },
195
359
  {
196
360
  "anonymous": false,
197
361
  "inputs": [
@@ -236,17 +400,43 @@
236
400
  {
237
401
  "indexed": true,
238
402
  "internalType": "address",
239
- "name": "oldPoolRegistry",
403
+ "name": "vToken",
240
404
  "type": "address"
241
405
  },
406
+ {
407
+ "components": [
408
+ {
409
+ "internalType": "uint256",
410
+ "name": "mantissa",
411
+ "type": "uint256"
412
+ }
413
+ ],
414
+ "indexed": false,
415
+ "internalType": "struct ExponentialNoError.Exp",
416
+ "name": "marketBorrowIndex",
417
+ "type": "tuple"
418
+ }
419
+ ],
420
+ "name": "RewardTokenBorrowIndexUpdated",
421
+ "type": "event"
422
+ },
423
+ {
424
+ "anonymous": false,
425
+ "inputs": [
242
426
  {
243
427
  "indexed": true,
244
- "internalType": "address",
245
- "name": "newPoolRegistry",
428
+ "internalType": "contract VToken",
429
+ "name": "vToken",
246
430
  "type": "address"
431
+ },
432
+ {
433
+ "indexed": false,
434
+ "internalType": "uint256",
435
+ "name": "newSpeed",
436
+ "type": "uint256"
247
437
  }
248
438
  ],
249
- "name": "PoolRegistryUpdated",
439
+ "name": "RewardTokenBorrowSpeedUpdated",
250
440
  "type": "event"
251
441
  },
252
442
  {
@@ -255,25 +445,83 @@
255
445
  {
256
446
  "indexed": true,
257
447
  "internalType": "address",
258
- "name": "token",
448
+ "name": "recipient",
259
449
  "type": "address"
260
450
  },
451
+ {
452
+ "indexed": false,
453
+ "internalType": "uint256",
454
+ "name": "amount",
455
+ "type": "uint256"
456
+ }
457
+ ],
458
+ "name": "RewardTokenGranted",
459
+ "type": "event"
460
+ },
461
+ {
462
+ "anonymous": false,
463
+ "inputs": [
261
464
  {
262
465
  "indexed": true,
263
466
  "internalType": "address",
264
- "name": "to",
467
+ "name": "vToken",
468
+ "type": "address"
469
+ }
470
+ ],
471
+ "name": "RewardTokenSupplyIndexUpdated",
472
+ "type": "event"
473
+ },
474
+ {
475
+ "anonymous": false,
476
+ "inputs": [
477
+ {
478
+ "indexed": true,
479
+ "internalType": "contract VToken",
480
+ "name": "vToken",
265
481
  "type": "address"
266
482
  },
267
483
  {
268
484
  "indexed": false,
269
485
  "internalType": "uint256",
270
- "name": "amount",
486
+ "name": "newSpeed",
271
487
  "type": "uint256"
272
488
  }
273
489
  ],
274
- "name": "SweepToken",
490
+ "name": "RewardTokenSupplySpeedUpdated",
491
+ "type": "event"
492
+ },
493
+ {
494
+ "anonymous": false,
495
+ "inputs": [
496
+ {
497
+ "indexed": true,
498
+ "internalType": "address",
499
+ "name": "vToken",
500
+ "type": "address"
501
+ },
502
+ {
503
+ "indexed": false,
504
+ "internalType": "uint32",
505
+ "name": "newBlock",
506
+ "type": "uint32"
507
+ }
508
+ ],
509
+ "name": "SupplyLastRewardingBlockUpdated",
275
510
  "type": "event"
276
511
  },
512
+ {
513
+ "inputs": [],
514
+ "name": "INITIAL_INDEX",
515
+ "outputs": [
516
+ {
517
+ "internalType": "uint224",
518
+ "name": "",
519
+ "type": "uint224"
520
+ }
521
+ ],
522
+ "stateMutability": "view",
523
+ "type": "function"
524
+ },
277
525
  {
278
526
  "inputs": [],
279
527
  "name": "acceptOwnership",
@@ -281,39 +529,101 @@
281
529
  "stateMutability": "nonpayable",
282
530
  "type": "function"
283
531
  },
532
+ {
533
+ "inputs": [],
534
+ "name": "accessControlManager",
535
+ "outputs": [
536
+ {
537
+ "internalType": "contract IAccessControlManagerV8",
538
+ "name": "",
539
+ "type": "address"
540
+ }
541
+ ],
542
+ "stateMutability": "view",
543
+ "type": "function"
544
+ },
284
545
  {
285
546
  "inputs": [
286
547
  {
287
548
  "internalType": "address",
288
- "name": "",
549
+ "name": "holder",
289
550
  "type": "address"
551
+ },
552
+ {
553
+ "internalType": "contract VToken[]",
554
+ "name": "vTokens",
555
+ "type": "address[]"
290
556
  }
291
557
  ],
292
- "name": "assetsReserves",
293
- "outputs": [
558
+ "name": "claimRewardToken",
559
+ "outputs": [],
560
+ "stateMutability": "nonpayable",
561
+ "type": "function"
562
+ },
563
+ {
564
+ "inputs": [
294
565
  {
295
- "internalType": "uint256",
296
- "name": "",
297
- "type": "uint256"
566
+ "internalType": "address",
567
+ "name": "holder",
568
+ "type": "address"
298
569
  }
299
570
  ],
300
- "stateMutability": "view",
571
+ "name": "claimRewardToken",
572
+ "outputs": [],
573
+ "stateMutability": "nonpayable",
301
574
  "type": "function"
302
575
  },
303
576
  {
304
577
  "inputs": [
305
578
  {
306
579
  "internalType": "address",
307
- "name": "comptroller",
580
+ "name": "vToken",
308
581
  "type": "address"
309
582
  },
310
583
  {
311
584
  "internalType": "address",
312
- "name": "asset",
585
+ "name": "borrower",
313
586
  "type": "address"
587
+ },
588
+ {
589
+ "components": [
590
+ {
591
+ "internalType": "uint256",
592
+ "name": "mantissa",
593
+ "type": "uint256"
594
+ }
595
+ ],
596
+ "internalType": "struct ExponentialNoError.Exp",
597
+ "name": "marketBorrowIndex",
598
+ "type": "tuple"
314
599
  }
315
600
  ],
316
- "name": "getPoolAssetReserve",
601
+ "name": "distributeBorrowerRewardToken",
602
+ "outputs": [],
603
+ "stateMutability": "nonpayable",
604
+ "type": "function"
605
+ },
606
+ {
607
+ "inputs": [
608
+ {
609
+ "internalType": "address",
610
+ "name": "vToken",
611
+ "type": "address"
612
+ },
613
+ {
614
+ "internalType": "address",
615
+ "name": "supplier",
616
+ "type": "address"
617
+ }
618
+ ],
619
+ "name": "distributeSupplierRewardToken",
620
+ "outputs": [],
621
+ "stateMutability": "nonpayable",
622
+ "type": "function"
623
+ },
624
+ {
625
+ "inputs": [],
626
+ "name": "getBlockNumber",
317
627
  "outputs": [
318
628
  {
319
629
  "internalType": "uint256",
@@ -328,12 +638,40 @@
328
638
  "inputs": [
329
639
  {
330
640
  "internalType": "address",
331
- "name": "protocolIncome_",
641
+ "name": "recipient",
642
+ "type": "address"
643
+ },
644
+ {
645
+ "internalType": "uint256",
646
+ "name": "amount",
647
+ "type": "uint256"
648
+ }
649
+ ],
650
+ "name": "grantRewardToken",
651
+ "outputs": [],
652
+ "stateMutability": "nonpayable",
653
+ "type": "function"
654
+ },
655
+ {
656
+ "inputs": [
657
+ {
658
+ "internalType": "contract Comptroller",
659
+ "name": "comptroller_",
660
+ "type": "address"
661
+ },
662
+ {
663
+ "internalType": "contract IERC20Upgradeable",
664
+ "name": "rewardToken_",
332
665
  "type": "address"
333
666
  },
667
+ {
668
+ "internalType": "uint256",
669
+ "name": "loopsLimit_",
670
+ "type": "uint256"
671
+ },
334
672
  {
335
673
  "internalType": "address",
336
- "name": "riskFund_",
674
+ "name": "accessControlManager_",
337
675
  "type": "address"
338
676
  }
339
677
  ],
@@ -342,6 +680,51 @@
342
680
  "stateMutability": "nonpayable",
343
681
  "type": "function"
344
682
  },
683
+ {
684
+ "inputs": [
685
+ {
686
+ "internalType": "address",
687
+ "name": "vToken",
688
+ "type": "address"
689
+ }
690
+ ],
691
+ "name": "initializeMarket",
692
+ "outputs": [],
693
+ "stateMutability": "nonpayable",
694
+ "type": "function"
695
+ },
696
+ {
697
+ "inputs": [
698
+ {
699
+ "internalType": "address",
700
+ "name": "",
701
+ "type": "address"
702
+ }
703
+ ],
704
+ "name": "lastContributorBlock",
705
+ "outputs": [
706
+ {
707
+ "internalType": "uint256",
708
+ "name": "",
709
+ "type": "uint256"
710
+ }
711
+ ],
712
+ "stateMutability": "view",
713
+ "type": "function"
714
+ },
715
+ {
716
+ "inputs": [],
717
+ "name": "maxLoopsLimit",
718
+ "outputs": [
719
+ {
720
+ "internalType": "uint256",
721
+ "name": "",
722
+ "type": "uint256"
723
+ }
724
+ ],
725
+ "stateMutability": "view",
726
+ "type": "function"
727
+ },
345
728
  {
346
729
  "inputs": [],
347
730
  "name": "owner",
@@ -370,10 +753,17 @@
370
753
  },
371
754
  {
372
755
  "inputs": [],
373
- "name": "poolRegistry",
756
+ "name": "renounceOwnership",
757
+ "outputs": [],
758
+ "stateMutability": "nonpayable",
759
+ "type": "function"
760
+ },
761
+ {
762
+ "inputs": [],
763
+ "name": "rewardToken",
374
764
  "outputs": [
375
765
  {
376
- "internalType": "address",
766
+ "internalType": "contract IERC20Upgradeable",
377
767
  "name": "",
378
768
  "type": "address"
379
769
  }
@@ -382,15 +772,40 @@
382
772
  "type": "function"
383
773
  },
384
774
  {
385
- "inputs": [],
386
- "name": "protocolIncome",
775
+ "inputs": [
776
+ {
777
+ "internalType": "address",
778
+ "name": "",
779
+ "type": "address"
780
+ }
781
+ ],
782
+ "name": "rewardTokenAccrued",
387
783
  "outputs": [
784
+ {
785
+ "internalType": "uint256",
786
+ "name": "",
787
+ "type": "uint256"
788
+ }
789
+ ],
790
+ "stateMutability": "view",
791
+ "type": "function"
792
+ },
793
+ {
794
+ "inputs": [
388
795
  {
389
796
  "internalType": "address",
390
797
  "name": "",
391
798
  "type": "address"
392
799
  }
393
800
  ],
801
+ "name": "rewardTokenBorrowSpeeds",
802
+ "outputs": [
803
+ {
804
+ "internalType": "uint256",
805
+ "name": "",
806
+ "type": "uint256"
807
+ }
808
+ ],
394
809
  "stateMutability": "view",
395
810
  "type": "function"
396
811
  },
@@ -398,21 +813,64 @@
398
813
  "inputs": [
399
814
  {
400
815
  "internalType": "address",
401
- "name": "comptroller",
816
+ "name": "",
402
817
  "type": "address"
818
+ }
819
+ ],
820
+ "name": "rewardTokenBorrowState",
821
+ "outputs": [
822
+ {
823
+ "internalType": "uint224",
824
+ "name": "index",
825
+ "type": "uint224"
826
+ },
827
+ {
828
+ "internalType": "uint32",
829
+ "name": "block",
830
+ "type": "uint32"
403
831
  },
832
+ {
833
+ "internalType": "uint32",
834
+ "name": "lastRewardingBlock",
835
+ "type": "uint32"
836
+ }
837
+ ],
838
+ "stateMutability": "view",
839
+ "type": "function"
840
+ },
841
+ {
842
+ "inputs": [
404
843
  {
405
844
  "internalType": "address",
406
- "name": "asset",
845
+ "name": "",
407
846
  "type": "address"
408
847
  },
848
+ {
849
+ "internalType": "address",
850
+ "name": "",
851
+ "type": "address"
852
+ }
853
+ ],
854
+ "name": "rewardTokenBorrowerIndex",
855
+ "outputs": [
409
856
  {
410
857
  "internalType": "uint256",
411
- "name": "amount",
858
+ "name": "",
412
859
  "type": "uint256"
413
860
  }
414
861
  ],
415
- "name": "releaseFunds",
862
+ "stateMutability": "view",
863
+ "type": "function"
864
+ },
865
+ {
866
+ "inputs": [
867
+ {
868
+ "internalType": "address",
869
+ "name": "",
870
+ "type": "address"
871
+ }
872
+ ],
873
+ "name": "rewardTokenContributorSpeeds",
416
874
  "outputs": [
417
875
  {
418
876
  "internalType": "uint256",
@@ -420,26 +878,78 @@
420
878
  "type": "uint256"
421
879
  }
422
880
  ],
423
- "stateMutability": "nonpayable",
881
+ "stateMutability": "view",
424
882
  "type": "function"
425
883
  },
426
884
  {
427
- "inputs": [],
428
- "name": "renounceOwnership",
429
- "outputs": [],
430
- "stateMutability": "nonpayable",
885
+ "inputs": [
886
+ {
887
+ "internalType": "address",
888
+ "name": "",
889
+ "type": "address"
890
+ },
891
+ {
892
+ "internalType": "address",
893
+ "name": "",
894
+ "type": "address"
895
+ }
896
+ ],
897
+ "name": "rewardTokenSupplierIndex",
898
+ "outputs": [
899
+ {
900
+ "internalType": "uint256",
901
+ "name": "",
902
+ "type": "uint256"
903
+ }
904
+ ],
905
+ "stateMutability": "view",
431
906
  "type": "function"
432
907
  },
433
908
  {
434
- "inputs": [],
435
- "name": "riskFund",
909
+ "inputs": [
910
+ {
911
+ "internalType": "address",
912
+ "name": "",
913
+ "type": "address"
914
+ }
915
+ ],
916
+ "name": "rewardTokenSupplySpeeds",
436
917
  "outputs": [
918
+ {
919
+ "internalType": "uint256",
920
+ "name": "",
921
+ "type": "uint256"
922
+ }
923
+ ],
924
+ "stateMutability": "view",
925
+ "type": "function"
926
+ },
927
+ {
928
+ "inputs": [
437
929
  {
438
930
  "internalType": "address",
439
931
  "name": "",
440
932
  "type": "address"
441
933
  }
442
934
  ],
935
+ "name": "rewardTokenSupplyState",
936
+ "outputs": [
937
+ {
938
+ "internalType": "uint224",
939
+ "name": "index",
940
+ "type": "uint224"
941
+ },
942
+ {
943
+ "internalType": "uint32",
944
+ "name": "block",
945
+ "type": "uint32"
946
+ },
947
+ {
948
+ "internalType": "uint32",
949
+ "name": "lastRewardingBlock",
950
+ "type": "uint32"
951
+ }
952
+ ],
443
953
  "stateMutability": "view",
444
954
  "type": "function"
445
955
  },
@@ -447,11 +957,11 @@
447
957
  "inputs": [
448
958
  {
449
959
  "internalType": "address",
450
- "name": "poolRegistry_",
960
+ "name": "accessControlManager_",
451
961
  "type": "address"
452
962
  }
453
963
  ],
454
- "name": "setPoolRegistry",
964
+ "name": "setAccessControlManager",
455
965
  "outputs": [],
456
966
  "stateMutability": "nonpayable",
457
967
  "type": "function"
@@ -460,16 +970,75 @@
460
970
  "inputs": [
461
971
  {
462
972
  "internalType": "address",
463
- "name": "_token",
973
+ "name": "contributor",
464
974
  "type": "address"
465
975
  },
466
976
  {
467
- "internalType": "address",
468
- "name": "_to",
469
- "type": "address"
977
+ "internalType": "uint256",
978
+ "name": "rewardTokenSpeed",
979
+ "type": "uint256"
980
+ }
981
+ ],
982
+ "name": "setContributorRewardTokenSpeed",
983
+ "outputs": [],
984
+ "stateMutability": "nonpayable",
985
+ "type": "function"
986
+ },
987
+ {
988
+ "inputs": [
989
+ {
990
+ "internalType": "contract VToken[]",
991
+ "name": "vTokens",
992
+ "type": "address[]"
993
+ },
994
+ {
995
+ "internalType": "uint32[]",
996
+ "name": "supplyLastRewardingBlocks",
997
+ "type": "uint32[]"
998
+ },
999
+ {
1000
+ "internalType": "uint32[]",
1001
+ "name": "borrowLastRewardingBlocks",
1002
+ "type": "uint32[]"
1003
+ }
1004
+ ],
1005
+ "name": "setLastRewardingBlocks",
1006
+ "outputs": [],
1007
+ "stateMutability": "nonpayable",
1008
+ "type": "function"
1009
+ },
1010
+ {
1011
+ "inputs": [
1012
+ {
1013
+ "internalType": "uint256",
1014
+ "name": "limit",
1015
+ "type": "uint256"
1016
+ }
1017
+ ],
1018
+ "name": "setMaxLoopsLimit",
1019
+ "outputs": [],
1020
+ "stateMutability": "nonpayable",
1021
+ "type": "function"
1022
+ },
1023
+ {
1024
+ "inputs": [
1025
+ {
1026
+ "internalType": "contract VToken[]",
1027
+ "name": "vTokens",
1028
+ "type": "address[]"
1029
+ },
1030
+ {
1031
+ "internalType": "uint256[]",
1032
+ "name": "supplySpeeds",
1033
+ "type": "uint256[]"
1034
+ },
1035
+ {
1036
+ "internalType": "uint256[]",
1037
+ "name": "borrowSpeeds",
1038
+ "type": "uint256[]"
470
1039
  }
471
1040
  ],
472
- "name": "sweepToken",
1041
+ "name": "setRewardTokenSpeeds",
473
1042
  "outputs": [],
474
1043
  "stateMutability": "nonpayable",
475
1044
  "type": "function"
@@ -491,16 +1060,49 @@
491
1060
  "inputs": [
492
1061
  {
493
1062
  "internalType": "address",
494
- "name": "comptroller",
1063
+ "name": "contributor",
1064
+ "type": "address"
1065
+ }
1066
+ ],
1067
+ "name": "updateContributorRewards",
1068
+ "outputs": [],
1069
+ "stateMutability": "nonpayable",
1070
+ "type": "function"
1071
+ },
1072
+ {
1073
+ "inputs": [
1074
+ {
1075
+ "internalType": "address",
1076
+ "name": "vToken",
495
1077
  "type": "address"
496
1078
  },
1079
+ {
1080
+ "components": [
1081
+ {
1082
+ "internalType": "uint256",
1083
+ "name": "mantissa",
1084
+ "type": "uint256"
1085
+ }
1086
+ ],
1087
+ "internalType": "struct ExponentialNoError.Exp",
1088
+ "name": "marketBorrowIndex",
1089
+ "type": "tuple"
1090
+ }
1091
+ ],
1092
+ "name": "updateRewardTokenBorrowIndex",
1093
+ "outputs": [],
1094
+ "stateMutability": "nonpayable",
1095
+ "type": "function"
1096
+ },
1097
+ {
1098
+ "inputs": [
497
1099
  {
498
1100
  "internalType": "address",
499
- "name": "asset",
1101
+ "name": "vToken",
500
1102
  "type": "address"
501
1103
  }
502
1104
  ],
503
- "name": "updateAssetsState",
1105
+ "name": "updateRewardTokenSupplyIndex",
504
1106
  "outputs": [],
505
1107
  "stateMutability": "nonpayable",
506
1108
  "type": "function"
@@ -527,74 +1129,94 @@
527
1129
  "type": "constructor"
528
1130
  }
529
1131
  ],
530
- "transactionHash": "0x47ddbdb20be15cd6c7ec5090c11a9fdf035b23ce0689b18e42141003f4ce9d9c",
1132
+ "transactionHash": "0xc8b227c3ab5d2c866878675f8ba4d9192d0df9192fa8c6f6c0eaee3b8202f12c",
531
1133
  "receipt": {
532
1134
  "to": null,
533
- "from": "0x55A9f5374Af30E3045FB491f1da3C2E8a74d168D",
534
- "contractAddress": "0xfB5bE09a1FA6CFDA075aB1E69FE83ce8324682e4",
535
- "transactionIndex": 111,
536
- "gasUsed": "817682",
537
- "logsBloom": "0x00000000010000000000000000000000400000000000000000800000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002000001000000000000000000000000000000010000020000000000000000000800000000800000000000000000000000400001800000080000000000000000000000000000000080000000000000800000000000000000000000000000000400000000000000000000000000000002000000000020000000000000000000040000000000000400000000000000001020000000000000000000000000000000000000000000000000000000000000000100",
538
- "blockHash": "0xa320e6f5001fdfe6e5a63cf1f4a8da72f57bcc0a2fab4f5903dc095ba8a9e112",
539
- "transactionHash": "0x47ddbdb20be15cd6c7ec5090c11a9fdf035b23ce0689b18e42141003f4ce9d9c",
1135
+ "from": "0x12Bdf8Ae9fE2047809080412d7341044b910ef10",
1136
+ "contractAddress": "0xD86FCff6CCF5C4E277E49e1dC01Ed4bcAb8260ba",
1137
+ "transactionIndex": 123,
1138
+ "gasUsed": "865817",
1139
+ "logsBloom": "0x00000000000000000000000000000000400000000000000000808000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000002000001000008000000000000000000000000000000020000000000000000000800000000800000000000000000000000400000000000000000000010000000000000000000000084040000000000800000000000000000000000002000000400000000000008800000000000000000000000000020000000000000000001040000000200000400080000000000000020002000000200000000000000000000000000000800000000000000000000000000",
1140
+ "blockHash": "0x9916532be8cc7bbc57a83b20e200a2e05c1ada0ab8bed0eb64856bb55649bb53",
1141
+ "transactionHash": "0xc8b227c3ab5d2c866878675f8ba4d9192d0df9192fa8c6f6c0eaee3b8202f12c",
540
1142
  "logs": [
541
1143
  {
542
- "transactionIndex": 111,
543
- "blockNumber": 31670925,
544
- "transactionHash": "0x47ddbdb20be15cd6c7ec5090c11a9fdf035b23ce0689b18e42141003f4ce9d9c",
545
- "address": "0xfB5bE09a1FA6CFDA075aB1E69FE83ce8324682e4",
1144
+ "transactionIndex": 123,
1145
+ "blockNumber": 33136375,
1146
+ "transactionHash": "0xc8b227c3ab5d2c866878675f8ba4d9192d0df9192fa8c6f6c0eaee3b8202f12c",
1147
+ "address": "0xD86FCff6CCF5C4E277E49e1dC01Ed4bcAb8260ba",
546
1148
  "topics": [
547
1149
  "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b",
548
- "0x000000000000000000000000c1c56732fcafca0f66d59745ec69dc642ec20ab8"
1150
+ "0x00000000000000000000000001251d4ef6bb9f56c8bef7d3a201f00f4c122589"
549
1151
  ],
550
1152
  "data": "0x",
551
- "logIndex": 258,
552
- "blockHash": "0xa320e6f5001fdfe6e5a63cf1f4a8da72f57bcc0a2fab4f5903dc095ba8a9e112"
1153
+ "logIndex": 294,
1154
+ "blockHash": "0x9916532be8cc7bbc57a83b20e200a2e05c1ada0ab8bed0eb64856bb55649bb53"
553
1155
  },
554
1156
  {
555
- "transactionIndex": 111,
556
- "blockNumber": 31670925,
557
- "transactionHash": "0x47ddbdb20be15cd6c7ec5090c11a9fdf035b23ce0689b18e42141003f4ce9d9c",
558
- "address": "0xfB5bE09a1FA6CFDA075aB1E69FE83ce8324682e4",
1157
+ "transactionIndex": 123,
1158
+ "blockNumber": 33136375,
1159
+ "transactionHash": "0xc8b227c3ab5d2c866878675f8ba4d9192d0df9192fa8c6f6c0eaee3b8202f12c",
1160
+ "address": "0xD86FCff6CCF5C4E277E49e1dC01Ed4bcAb8260ba",
559
1161
  "topics": [
560
1162
  "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
561
1163
  "0x0000000000000000000000000000000000000000000000000000000000000000",
562
- "0x00000000000000000000000055a9f5374af30e3045fb491f1da3c2e8a74d168d"
1164
+ "0x00000000000000000000000012bdf8ae9fe2047809080412d7341044b910ef10"
563
1165
  ],
564
1166
  "data": "0x",
565
- "logIndex": 259,
566
- "blockHash": "0xa320e6f5001fdfe6e5a63cf1f4a8da72f57bcc0a2fab4f5903dc095ba8a9e112"
1167
+ "logIndex": 295,
1168
+ "blockHash": "0x9916532be8cc7bbc57a83b20e200a2e05c1ada0ab8bed0eb64856bb55649bb53"
1169
+ },
1170
+ {
1171
+ "transactionIndex": 123,
1172
+ "blockNumber": 33136375,
1173
+ "transactionHash": "0xc8b227c3ab5d2c866878675f8ba4d9192d0df9192fa8c6f6c0eaee3b8202f12c",
1174
+ "address": "0xD86FCff6CCF5C4E277E49e1dC01Ed4bcAb8260ba",
1175
+ "topics": ["0x66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa0"],
1176
+ "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000004788629abc6cfca10f9f969efdeaa1cf70c23555",
1177
+ "logIndex": 296,
1178
+ "blockHash": "0x9916532be8cc7bbc57a83b20e200a2e05c1ada0ab8bed0eb64856bb55649bb53"
1179
+ },
1180
+ {
1181
+ "transactionIndex": 123,
1182
+ "blockNumber": 33136375,
1183
+ "transactionHash": "0xc8b227c3ab5d2c866878675f8ba4d9192d0df9192fa8c6f6c0eaee3b8202f12c",
1184
+ "address": "0xD86FCff6CCF5C4E277E49e1dC01Ed4bcAb8260ba",
1185
+ "topics": ["0xc2d09fef144f7c8a86f71ea459f8fc17f675768eb1ae369cbd77fb31d467aafa"],
1186
+ "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064",
1187
+ "logIndex": 297,
1188
+ "blockHash": "0x9916532be8cc7bbc57a83b20e200a2e05c1ada0ab8bed0eb64856bb55649bb53"
567
1189
  },
568
1190
  {
569
- "transactionIndex": 111,
570
- "blockNumber": 31670925,
571
- "transactionHash": "0x47ddbdb20be15cd6c7ec5090c11a9fdf035b23ce0689b18e42141003f4ce9d9c",
572
- "address": "0xfB5bE09a1FA6CFDA075aB1E69FE83ce8324682e4",
1191
+ "transactionIndex": 123,
1192
+ "blockNumber": 33136375,
1193
+ "transactionHash": "0xc8b227c3ab5d2c866878675f8ba4d9192d0df9192fa8c6f6c0eaee3b8202f12c",
1194
+ "address": "0xD86FCff6CCF5C4E277E49e1dC01Ed4bcAb8260ba",
573
1195
  "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"],
574
1196
  "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
575
- "logIndex": 260,
576
- "blockHash": "0xa320e6f5001fdfe6e5a63cf1f4a8da72f57bcc0a2fab4f5903dc095ba8a9e112"
1197
+ "logIndex": 298,
1198
+ "blockHash": "0x9916532be8cc7bbc57a83b20e200a2e05c1ada0ab8bed0eb64856bb55649bb53"
577
1199
  },
578
1200
  {
579
- "transactionIndex": 111,
580
- "blockNumber": 31670925,
581
- "transactionHash": "0x47ddbdb20be15cd6c7ec5090c11a9fdf035b23ce0689b18e42141003f4ce9d9c",
582
- "address": "0xfB5bE09a1FA6CFDA075aB1E69FE83ce8324682e4",
1201
+ "transactionIndex": 123,
1202
+ "blockNumber": 33136375,
1203
+ "transactionHash": "0xc8b227c3ab5d2c866878675f8ba4d9192d0df9192fa8c6f6c0eaee3b8202f12c",
1204
+ "address": "0xD86FCff6CCF5C4E277E49e1dC01Ed4bcAb8260ba",
583
1205
  "topics": ["0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f"],
584
1206
  "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000006beb6d2695b67feb73ad4f172e8e2975497187e4",
585
- "logIndex": 261,
586
- "blockHash": "0xa320e6f5001fdfe6e5a63cf1f4a8da72f57bcc0a2fab4f5903dc095ba8a9e112"
1207
+ "logIndex": 299,
1208
+ "blockHash": "0x9916532be8cc7bbc57a83b20e200a2e05c1ada0ab8bed0eb64856bb55649bb53"
587
1209
  }
588
1210
  ],
589
- "blockNumber": 31670925,
590
- "cumulativeGasUsed": "13118645",
1211
+ "blockNumber": 33136375,
1212
+ "cumulativeGasUsed": "11315130",
591
1213
  "status": 1,
592
1214
  "byzantium": true
593
1215
  },
594
1216
  "args": [
595
- "0xc1c56732FcaFca0F66D59745Ec69DC642EC20ab8",
1217
+ "0x01251D4eF6bb9f56C8Bef7D3A201f00f4C122589",
596
1218
  "0x6beb6D2695B67FEb73ad4f172E8E2975497187e4",
597
- "0x485cc955000000000000000000000000f322942f644a996a617bd29c16bd7d231d9f35e9000000000000000000000000df31a28d68a2ab381d42b380649ead7ae2a76e42"
1219
+ "0xbe2030940000000000000000000000003344417c9360b963ca93a4e8305361aede340ab900000000000000000000000055d398326f99059ff775485246999027b319795500000000000000000000000000000000000000000000000000000000000000640000000000000000000000004788629abc6cfca10f9f969efdeaa1cf70c23555"
598
1220
  ],
599
1221
  "numDeployments": 1,
600
1222
  "solcInputHash": "0e89febeebc7444140de8e67c9067d2c",
@@ -603,9 +1225,14 @@
603
1225
  "deployedBytecode": "0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b61009036600461091f565b610135565b61006b6100a336600461093a565b610196565b3480156100b457600080fd5b506100bd610221565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b61010136600461091f565b610276565b34801561011257600080fd5b506100bd6102ba565b610123610347565b61013361012e610435565b61043f565b565b61013d610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816040518060200160405280600081525060006104a3565b50565b61018b61011b565b61019e610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610219576102148383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506104a3915050565b505050565b61021461011b565b600061022b610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b57610266610435565b905090565b61027361011b565b90565b61027e610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816104ce565b60006102c4610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b57610266610463565b60606103248383604051806060016040528060278152602001610a576027913961052f565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b61034f610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b6000610266610657565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6104ac8361067f565b6000825111806104b95750805b15610214576104c883836102ff565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104f7610463565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161018b816106cc565b606073ffffffffffffffffffffffffffffffffffffffff84163b6105d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e74726163740000000000000000000000000000000000000000000000000000606482015260840161042c565b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516105fd91906109e9565b600060405180830381855af49150503d8060008114610638576040519150601f19603f3d011682016040523d82523d6000602084013e61063d565b606091505b509150915061064d8282866107d8565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610487565b6106888161082b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff811661076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161042c565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b606083156107e7575081610324565b8251156107f75782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042c9190610a05565b73ffffffffffffffffffffffffffffffffffffffff81163b6108cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840161042c565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610792565b803573ffffffffffffffffffffffffffffffffffffffff8116811461091a57600080fd5b919050565b60006020828403121561093157600080fd5b610324826108f6565b60008060006040848603121561094f57600080fd5b610958846108f6565b9250602084013567ffffffffffffffff8082111561097557600080fd5b818601915086601f83011261098957600080fd5b81358181111561099857600080fd5b8760208285010111156109aa57600080fd5b6020830194508093505050509250925092565b60005b838110156109d85781810151838201526020016109c0565b838111156104c85750506000910152565b600082516109fb8184602087016109bd565b9190910192915050565b6020815260008251806020840152610a248160408501602087016109bd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b29caa54336b3ee836679675e9732ec5e526fb3f803cca2fe336cc3555aba62264736f6c634300080a0033",
604
1226
  "execute": {
605
1227
  "methodName": "initialize",
606
- "args": ["0xF322942f644A996A617BD29c16bd7d231d9F35E9", "0xdF31a28D68A2AB381D42b380649Ead7ae2A76E42"]
1228
+ "args": [
1229
+ "0x3344417c9360b963ca93A4e8305361AEde340Ab9",
1230
+ "0x55d398326f99059fF775485246999027B3197955",
1231
+ 100,
1232
+ "0x4788629ABc6cFCA10F9f969efdEAa1cF70c23555"
1233
+ ]
607
1234
  },
608
- "implementation": "0xc1c56732FcaFca0F66D59745Ec69DC642EC20ab8",
1235
+ "implementation": "0x01251D4eF6bb9f56C8Bef7D3A201f00f4C122589",
609
1236
  "devdoc": {
610
1237
  "details": "This contract implements a proxy that is upgradeable by an admin. To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector clashing], which can potentially be used in an attack, this contract uses the https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two things that go hand in hand: 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if that call matches one of the admin functions exposed by the proxy itself. 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the implementation. If the admin tries to call a function on the implementation it will fail with an error that says \"admin cannot fallback to proxy target\". These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to call a function from the proxy implementation. Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way, you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy.",
611
1238
  "kind": "dev",