defi-state-querier 0.5.24__py3-none-any.whl → 0.5.25__py3-none-any.whl

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.
defi_services/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.5.24"
1
+ __version__ = "0.5.25"
@@ -0,0 +1,817 @@
1
+ import json
2
+
3
+ RADIANT_REWARD_CONVERTER_ABI = json.loads('''
4
+ [
5
+ {
6
+ "inputs": [],
7
+ "stateMutability": "nonpayable",
8
+ "type": "constructor"
9
+ },
10
+ {
11
+ "inputs": [],
12
+ "name": "AddressZero",
13
+ "type": "error"
14
+ },
15
+ {
16
+ "inputs": [],
17
+ "name": "ArrayLengthMismatch",
18
+ "type": "error"
19
+ },
20
+ {
21
+ "inputs": [],
22
+ "name": "InsufficientStakeAmount",
23
+ "type": "error"
24
+ },
25
+ {
26
+ "inputs": [],
27
+ "name": "InvalidCompoundFee",
28
+ "type": "error"
29
+ },
30
+ {
31
+ "inputs": [],
32
+ "name": "InvalidSlippage",
33
+ "type": "error"
34
+ },
35
+ {
36
+ "inputs": [],
37
+ "name": "NotBountyManager",
38
+ "type": "error"
39
+ },
40
+ {
41
+ "inputs": [],
42
+ "name": "NotEligible",
43
+ "type": "error"
44
+ },
45
+ {
46
+ "inputs": [
47
+ {
48
+ "internalType": "address",
49
+ "name": "asset",
50
+ "type": "address"
51
+ },
52
+ {
53
+ "internalType": "uint256",
54
+ "name": "amount",
55
+ "type": "uint256"
56
+ }
57
+ ],
58
+ "name": "SwapFailed",
59
+ "type": "error"
60
+ },
61
+ {
62
+ "inputs": [
63
+ {
64
+ "internalType": "address",
65
+ "name": "fromToken",
66
+ "type": "address"
67
+ },
68
+ {
69
+ "internalType": "address",
70
+ "name": "toToken",
71
+ "type": "address"
72
+ }
73
+ ],
74
+ "name": "WrongRoute",
75
+ "type": "error"
76
+ },
77
+ {
78
+ "anonymous": false,
79
+ "inputs": [
80
+ {
81
+ "indexed": true,
82
+ "internalType": "address",
83
+ "name": "_manager",
84
+ "type": "address"
85
+ }
86
+ ],
87
+ "name": "BountyManagerUpdated",
88
+ "type": "event"
89
+ },
90
+ {
91
+ "anonymous": false,
92
+ "inputs": [
93
+ {
94
+ "indexed": true,
95
+ "internalType": "uint256",
96
+ "name": "_compoundFee",
97
+ "type": "uint256"
98
+ }
99
+ ],
100
+ "name": "CompoundFeeUpdated",
101
+ "type": "event"
102
+ },
103
+ {
104
+ "anonymous": false,
105
+ "inputs": [
106
+ {
107
+ "indexed": false,
108
+ "internalType": "uint8",
109
+ "name": "version",
110
+ "type": "uint8"
111
+ }
112
+ ],
113
+ "name": "Initialized",
114
+ "type": "event"
115
+ },
116
+ {
117
+ "anonymous": false,
118
+ "inputs": [
119
+ {
120
+ "indexed": true,
121
+ "internalType": "address",
122
+ "name": "_lockZap",
123
+ "type": "address"
124
+ }
125
+ ],
126
+ "name": "LockZapUpdated",
127
+ "type": "event"
128
+ },
129
+ {
130
+ "anonymous": false,
131
+ "inputs": [
132
+ {
133
+ "indexed": true,
134
+ "internalType": "address",
135
+ "name": "previousOwner",
136
+ "type": "address"
137
+ },
138
+ {
139
+ "indexed": true,
140
+ "internalType": "address",
141
+ "name": "newOwner",
142
+ "type": "address"
143
+ }
144
+ ],
145
+ "name": "OwnershipTransferred",
146
+ "type": "event"
147
+ },
148
+ {
149
+ "anonymous": false,
150
+ "inputs": [
151
+ {
152
+ "indexed": false,
153
+ "internalType": "address",
154
+ "name": "account",
155
+ "type": "address"
156
+ }
157
+ ],
158
+ "name": "Paused",
159
+ "type": "event"
160
+ },
161
+ {
162
+ "anonymous": false,
163
+ "inputs": [
164
+ {
165
+ "indexed": true,
166
+ "internalType": "address",
167
+ "name": "_poolHelper",
168
+ "type": "address"
169
+ }
170
+ ],
171
+ "name": "PoolHelperUpdated",
172
+ "type": "event"
173
+ },
174
+ {
175
+ "anonymous": false,
176
+ "inputs": [
177
+ {
178
+ "indexed": true,
179
+ "internalType": "address",
180
+ "name": "_tokenIn",
181
+ "type": "address"
182
+ },
183
+ {
184
+ "indexed": true,
185
+ "internalType": "address",
186
+ "name": "_tokenOut",
187
+ "type": "address"
188
+ },
189
+ {
190
+ "indexed": false,
191
+ "internalType": "bytes",
192
+ "name": "_route",
193
+ "type": "bytes"
194
+ }
195
+ ],
196
+ "name": "RoutesUniV3Updated",
197
+ "type": "event"
198
+ },
199
+ {
200
+ "anonymous": false,
201
+ "inputs": [
202
+ {
203
+ "indexed": true,
204
+ "internalType": "address",
205
+ "name": "_uniRouter",
206
+ "type": "address"
207
+ }
208
+ ],
209
+ "name": "UniRouterUpdated",
210
+ "type": "event"
211
+ },
212
+ {
213
+ "anonymous": false,
214
+ "inputs": [
215
+ {
216
+ "indexed": false,
217
+ "internalType": "address",
218
+ "name": "account",
219
+ "type": "address"
220
+ }
221
+ ],
222
+ "name": "Unpaused",
223
+ "type": "event"
224
+ },
225
+ {
226
+ "inputs": [],
227
+ "name": "MAX_COMPOUND_FEE",
228
+ "outputs": [
229
+ {
230
+ "internalType": "uint256",
231
+ "name": "",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "stateMutability": "view",
236
+ "type": "function"
237
+ },
238
+ {
239
+ "inputs": [],
240
+ "name": "MAX_SLIPPAGE",
241
+ "outputs": [
242
+ {
243
+ "internalType": "uint256",
244
+ "name": "",
245
+ "type": "uint256"
246
+ }
247
+ ],
248
+ "stateMutability": "view",
249
+ "type": "function"
250
+ },
251
+ {
252
+ "inputs": [],
253
+ "name": "MIN_DELAY",
254
+ "outputs": [
255
+ {
256
+ "internalType": "uint256",
257
+ "name": "",
258
+ "type": "uint256"
259
+ }
260
+ ],
261
+ "stateMutability": "view",
262
+ "type": "function"
263
+ },
264
+ {
265
+ "inputs": [],
266
+ "name": "MIN_UNIV3_ROUTE_LENGTH",
267
+ "outputs": [
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "stateMutability": "view",
275
+ "type": "function"
276
+ },
277
+ {
278
+ "inputs": [],
279
+ "name": "PERCENT_DIVISOR",
280
+ "outputs": [
281
+ {
282
+ "internalType": "uint256",
283
+ "name": "",
284
+ "type": "uint256"
285
+ }
286
+ ],
287
+ "stateMutability": "view",
288
+ "type": "function"
289
+ },
290
+ {
291
+ "inputs": [],
292
+ "name": "UNIV3_NEXT_OFFSET",
293
+ "outputs": [
294
+ {
295
+ "internalType": "uint256",
296
+ "name": "",
297
+ "type": "uint256"
298
+ }
299
+ ],
300
+ "stateMutability": "view",
301
+ "type": "function"
302
+ },
303
+ {
304
+ "inputs": [],
305
+ "name": "addressProvider",
306
+ "outputs": [
307
+ {
308
+ "internalType": "address",
309
+ "name": "",
310
+ "type": "address"
311
+ }
312
+ ],
313
+ "stateMutability": "view",
314
+ "type": "function"
315
+ },
316
+ {
317
+ "inputs": [],
318
+ "name": "autocompoundThreshold",
319
+ "outputs": [
320
+ {
321
+ "internalType": "uint256",
322
+ "name": "minStakeAmtEth",
323
+ "type": "uint256"
324
+ }
325
+ ],
326
+ "stateMutability": "view",
327
+ "type": "function"
328
+ },
329
+ {
330
+ "inputs": [],
331
+ "name": "baseToken",
332
+ "outputs": [
333
+ {
334
+ "internalType": "address",
335
+ "name": "",
336
+ "type": "address"
337
+ }
338
+ ],
339
+ "stateMutability": "view",
340
+ "type": "function"
341
+ },
342
+ {
343
+ "inputs": [],
344
+ "name": "bountyManager",
345
+ "outputs": [
346
+ {
347
+ "internalType": "address",
348
+ "name": "",
349
+ "type": "address"
350
+ }
351
+ ],
352
+ "stateMutability": "view",
353
+ "type": "function"
354
+ },
355
+ {
356
+ "inputs": [
357
+ {
358
+ "internalType": "address",
359
+ "name": "_user",
360
+ "type": "address"
361
+ },
362
+ {
363
+ "internalType": "bool",
364
+ "name": "_execute",
365
+ "type": "bool"
366
+ },
367
+ {
368
+ "internalType": "uint256",
369
+ "name": "_slippage",
370
+ "type": "uint256"
371
+ }
372
+ ],
373
+ "name": "claimCompound",
374
+ "outputs": [
375
+ {
376
+ "internalType": "uint256",
377
+ "name": "fee",
378
+ "type": "uint256"
379
+ }
380
+ ],
381
+ "stateMutability": "nonpayable",
382
+ "type": "function"
383
+ },
384
+ {
385
+ "inputs": [],
386
+ "name": "compoundFee",
387
+ "outputs": [
388
+ {
389
+ "internalType": "uint256",
390
+ "name": "",
391
+ "type": "uint256"
392
+ }
393
+ ],
394
+ "stateMutability": "view",
395
+ "type": "function"
396
+ },
397
+ {
398
+ "inputs": [
399
+ {
400
+ "internalType": "address",
401
+ "name": "_tokenIn",
402
+ "type": "address"
403
+ },
404
+ {
405
+ "internalType": "address",
406
+ "name": "_tokenOut",
407
+ "type": "address"
408
+ }
409
+ ],
410
+ "name": "getUniV3Route",
411
+ "outputs": [
412
+ {
413
+ "internalType": "bytes",
414
+ "name": "",
415
+ "type": "bytes"
416
+ }
417
+ ],
418
+ "stateMutability": "view",
419
+ "type": "function"
420
+ },
421
+ {
422
+ "inputs": [
423
+ {
424
+ "internalType": "address",
425
+ "name": "_uniRouter",
426
+ "type": "address"
427
+ },
428
+ {
429
+ "internalType": "address",
430
+ "name": "_mfd",
431
+ "type": "address"
432
+ },
433
+ {
434
+ "internalType": "address",
435
+ "name": "_baseToken",
436
+ "type": "address"
437
+ },
438
+ {
439
+ "internalType": "address",
440
+ "name": "_addressProvider",
441
+ "type": "address"
442
+ },
443
+ {
444
+ "internalType": "address",
445
+ "name": "_lockZap",
446
+ "type": "address"
447
+ },
448
+ {
449
+ "internalType": "uint256",
450
+ "name": "_compoundFee",
451
+ "type": "uint256"
452
+ }
453
+ ],
454
+ "name": "initialize",
455
+ "outputs": [],
456
+ "stateMutability": "nonpayable",
457
+ "type": "function"
458
+ },
459
+ {
460
+ "inputs": [
461
+ {
462
+ "internalType": "address",
463
+ "name": "_user",
464
+ "type": "address"
465
+ },
466
+ {
467
+ "internalType": "uint256",
468
+ "name": "_pending",
469
+ "type": "uint256"
470
+ }
471
+ ],
472
+ "name": "isEligibleForAutoCompound",
473
+ "outputs": [
474
+ {
475
+ "internalType": "bool",
476
+ "name": "",
477
+ "type": "bool"
478
+ }
479
+ ],
480
+ "stateMutability": "view",
481
+ "type": "function"
482
+ },
483
+ {
484
+ "inputs": [
485
+ {
486
+ "internalType": "uint256",
487
+ "name": "_pending",
488
+ "type": "uint256"
489
+ }
490
+ ],
491
+ "name": "isEligibleForCompound",
492
+ "outputs": [
493
+ {
494
+ "internalType": "bool",
495
+ "name": "eligible",
496
+ "type": "bool"
497
+ }
498
+ ],
499
+ "stateMutability": "view",
500
+ "type": "function"
501
+ },
502
+ {
503
+ "inputs": [
504
+ {
505
+ "internalType": "address",
506
+ "name": "",
507
+ "type": "address"
508
+ }
509
+ ],
510
+ "name": "lastAutocompound",
511
+ "outputs": [
512
+ {
513
+ "internalType": "uint256",
514
+ "name": "",
515
+ "type": "uint256"
516
+ }
517
+ ],
518
+ "stateMutability": "view",
519
+ "type": "function"
520
+ },
521
+ {
522
+ "inputs": [],
523
+ "name": "lockZap",
524
+ "outputs": [
525
+ {
526
+ "internalType": "address",
527
+ "name": "",
528
+ "type": "address"
529
+ }
530
+ ],
531
+ "stateMutability": "view",
532
+ "type": "function"
533
+ },
534
+ {
535
+ "inputs": [],
536
+ "name": "multiFeeDistribution",
537
+ "outputs": [
538
+ {
539
+ "internalType": "address",
540
+ "name": "",
541
+ "type": "address"
542
+ }
543
+ ],
544
+ "stateMutability": "view",
545
+ "type": "function"
546
+ },
547
+ {
548
+ "inputs": [],
549
+ "name": "owner",
550
+ "outputs": [
551
+ {
552
+ "internalType": "address",
553
+ "name": "",
554
+ "type": "address"
555
+ }
556
+ ],
557
+ "stateMutability": "view",
558
+ "type": "function"
559
+ },
560
+ {
561
+ "inputs": [],
562
+ "name": "pause",
563
+ "outputs": [],
564
+ "stateMutability": "nonpayable",
565
+ "type": "function"
566
+ },
567
+ {
568
+ "inputs": [],
569
+ "name": "paused",
570
+ "outputs": [
571
+ {
572
+ "internalType": "bool",
573
+ "name": "",
574
+ "type": "bool"
575
+ }
576
+ ],
577
+ "stateMutability": "view",
578
+ "type": "function"
579
+ },
580
+ {
581
+ "inputs": [],
582
+ "name": "poolHelper",
583
+ "outputs": [
584
+ {
585
+ "internalType": "contract IPoolHelper",
586
+ "name": "",
587
+ "type": "address"
588
+ }
589
+ ],
590
+ "stateMutability": "view",
591
+ "type": "function"
592
+ },
593
+ {
594
+ "inputs": [],
595
+ "name": "priceProvider",
596
+ "outputs": [
597
+ {
598
+ "internalType": "address",
599
+ "name": "",
600
+ "type": "address"
601
+ }
602
+ ],
603
+ "stateMutability": "view",
604
+ "type": "function"
605
+ },
606
+ {
607
+ "inputs": [],
608
+ "name": "rdntToken",
609
+ "outputs": [
610
+ {
611
+ "internalType": "contract IMintableToken",
612
+ "name": "",
613
+ "type": "address"
614
+ }
615
+ ],
616
+ "stateMutability": "view",
617
+ "type": "function"
618
+ },
619
+ {
620
+ "inputs": [],
621
+ "name": "renounceOwnership",
622
+ "outputs": [],
623
+ "stateMutability": "nonpayable",
624
+ "type": "function"
625
+ },
626
+ {
627
+ "inputs": [
628
+ {
629
+ "internalType": "uint256",
630
+ "name": "_slippage",
631
+ "type": "uint256"
632
+ }
633
+ ],
634
+ "name": "selfCompound",
635
+ "outputs": [],
636
+ "stateMutability": "nonpayable",
637
+ "type": "function"
638
+ },
639
+ {
640
+ "inputs": [],
641
+ "name": "selfEligibleCompound",
642
+ "outputs": [
643
+ {
644
+ "internalType": "bool",
645
+ "name": "eligible",
646
+ "type": "bool"
647
+ }
648
+ ],
649
+ "stateMutability": "view",
650
+ "type": "function"
651
+ },
652
+ {
653
+ "inputs": [
654
+ {
655
+ "internalType": "address",
656
+ "name": "_manager",
657
+ "type": "address"
658
+ }
659
+ ],
660
+ "name": "setBountyManager",
661
+ "outputs": [],
662
+ "stateMutability": "nonpayable",
663
+ "type": "function"
664
+ },
665
+ {
666
+ "inputs": [
667
+ {
668
+ "internalType": "uint256",
669
+ "name": "_compoundFee",
670
+ "type": "uint256"
671
+ }
672
+ ],
673
+ "name": "setCompoundFee",
674
+ "outputs": [],
675
+ "stateMutability": "nonpayable",
676
+ "type": "function"
677
+ },
678
+ {
679
+ "inputs": [
680
+ {
681
+ "internalType": "address",
682
+ "name": "_lockZap",
683
+ "type": "address"
684
+ }
685
+ ],
686
+ "name": "setLockZap",
687
+ "outputs": [],
688
+ "stateMutability": "nonpayable",
689
+ "type": "function"
690
+ },
691
+ {
692
+ "inputs": [
693
+ {
694
+ "internalType": "address",
695
+ "name": "_poolHelper",
696
+ "type": "address"
697
+ }
698
+ ],
699
+ "name": "setPoolHelper",
700
+ "outputs": [],
701
+ "stateMutability": "nonpayable",
702
+ "type": "function"
703
+ },
704
+ {
705
+ "inputs": [
706
+ {
707
+ "internalType": "address",
708
+ "name": "_uniRouter",
709
+ "type": "address"
710
+ }
711
+ ],
712
+ "name": "setUniRouter",
713
+ "outputs": [],
714
+ "stateMutability": "nonpayable",
715
+ "type": "function"
716
+ },
717
+ {
718
+ "inputs": [
719
+ {
720
+ "internalType": "address",
721
+ "name": "_tokenIn",
722
+ "type": "address"
723
+ },
724
+ {
725
+ "internalType": "address",
726
+ "name": "_tokenOut",
727
+ "type": "address"
728
+ },
729
+ {
730
+ "internalType": "bytes",
731
+ "name": "_route",
732
+ "type": "bytes"
733
+ }
734
+ ],
735
+ "name": "setUniV3Route",
736
+ "outputs": [],
737
+ "stateMutability": "nonpayable",
738
+ "type": "function"
739
+ },
740
+ {
741
+ "inputs": [
742
+ {
743
+ "internalType": "address",
744
+ "name": "newOwner",
745
+ "type": "address"
746
+ }
747
+ ],
748
+ "name": "transferOwnership",
749
+ "outputs": [],
750
+ "stateMutability": "nonpayable",
751
+ "type": "function"
752
+ },
753
+ {
754
+ "inputs": [],
755
+ "name": "uniRouter",
756
+ "outputs": [
757
+ {
758
+ "internalType": "address",
759
+ "name": "",
760
+ "type": "address"
761
+ }
762
+ ],
763
+ "stateMutability": "view",
764
+ "type": "function"
765
+ },
766
+ {
767
+ "inputs": [],
768
+ "name": "unpause",
769
+ "outputs": [],
770
+ "stateMutability": "nonpayable",
771
+ "type": "function"
772
+ },
773
+ {
774
+ "inputs": [
775
+ {
776
+ "internalType": "address",
777
+ "name": "_user",
778
+ "type": "address"
779
+ }
780
+ ],
781
+ "name": "userEligibleForCompound",
782
+ "outputs": [
783
+ {
784
+ "internalType": "bool",
785
+ "name": "eligible",
786
+ "type": "bool"
787
+ }
788
+ ],
789
+ "stateMutability": "view",
790
+ "type": "function"
791
+ },
792
+ {
793
+ "inputs": [
794
+ {
795
+ "internalType": "address",
796
+ "name": "_user",
797
+ "type": "address"
798
+ }
799
+ ],
800
+ "name": "viewPendingRewards",
801
+ "outputs": [
802
+ {
803
+ "internalType": "address[]",
804
+ "name": "tokens",
805
+ "type": "address[]"
806
+ },
807
+ {
808
+ "internalType": "uint256[]",
809
+ "name": "amts",
810
+ "type": "uint256[]"
811
+ }
812
+ ],
813
+ "stateMutability": "view",
814
+ "type": "function"
815
+ }
816
+ ]
817
+ ''')
@@ -2,7 +2,7 @@ GRANARY_BASE = {
2
2
  "address": "0xb702ce183b4e1faa574834715e5d4a6378d0eed3",
3
3
  "name": "Granary Finance Lending Pool",
4
4
  "rewardToken": [],
5
- "rewarder": "",
5
+ "rewarder": "0xc043ba54f34c9fb3a0b45d22e2ef1f171272bc9d",
6
6
  "stakedIncentiveAddress": "",
7
7
  "poolToken": "",
8
8
  "oracleAddress": "0x5a3423210536d930150080f699248edebc65e2b4",
@@ -1,7 +1,7 @@
1
1
  MOONWELL_BASE = {
2
2
  "name": "MoonWell Lending Pool",
3
3
  "rewardToken": "0xa88594d404727625a9437c3f886c7643872296ae",
4
- "comptrollerAddress": "0xfBb21d0380beE3312B33c4353c8936a0F13EF26C",
4
+ "comptrollerAddress": "0xfbb21d0380bee3312b33c4353c8936a0f13ef26c",
5
5
  "lensAddress": "",
6
6
  "poolToken": "0xa88594d404727625a9437c3f886c7643872296ae",
7
7
  "type": "LENDING_POOL",
@@ -1,9 +1,12 @@
1
1
  RADIANT_BASE = {
2
2
  "address": "0x30798cfe2cca822321ceed7e6085e633aabc492f",
3
3
  "name": "Radiant V2 Lending Pool",
4
- "rewardToken": "0xd722e55c1d9d9fa0021a5215cbb904b92b3dc5d4",
4
+ "rewardToken": ["0xd722e55c1d9d9fa0021a5215cbb904b92b3dc5d4",
5
+ "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
6
+ "0x4200000000000000000000000000000000000006"],
5
7
  "multiFeeAddress": "0xd87f8a52a91680c993ece968b281bf92505a3741",
6
8
  "stakedIncentiveAddress": "",
9
+ "rewardConverter": "0xb905f3c95576baa125c56e477d119db9f9eabfb7",
7
10
  "oracleAddress": "0xe373749cd9b2d379f7f6dd595e5164498b922164",
8
11
  "type": "LENDING_POOL",
9
12
  "forked": "aave-v2",
@@ -1,6 +1,8 @@
1
1
  import logging
2
2
 
3
+ from defi_services.abis.lending.radiant_v2.radiant_reward_converter import RADIANT_REWARD_CONVERTER_ABI
3
4
  from defi_services.abis.lending.radiant_v2.radiant_v2_incentive_abi import RADIANT_V2_INCENTIVE_ABI
5
+ from defi_services.abis.token.erc20_abi import ERC20_ABI
4
6
  from defi_services.constants.chain_constant import Chain
5
7
  from defi_services.constants.entities.lending_constant import Lending
6
8
  from defi_services.jobs.queriers.state_querier import StateQuerier
@@ -69,19 +71,55 @@ class RadiantStateService(ValasStateService):
69
71
  block_number: int = "latest"
70
72
  ):
71
73
  rpc_calls = {}
72
- key = f"allPendingRewards_{self.name}_{wallet}_{block_number}".lower()
73
- rpc_calls[key] = self.get_function_incentive_info(
74
- "allPendingRewards", [wallet], block_number)
74
+ if self.chain_id != Chain.base:
75
+ key = f"allPendingRewards_{self.name}_{wallet}_{block_number}".lower()
76
+ rpc_calls[key] = self.get_function_incentive_info(
77
+ "allPendingRewards", [wallet], block_number)
78
+ else:
79
+ # key = f"viewPendingRewards_{self.name}_{wallet}_{block_number}".lower()
80
+ # rpc_calls[key] = self.get_function_reward_converter_info(
81
+ # "viewPendingRewards", [wallet], block_number)
82
+ for token in self.pool_info.get('rewardToken'):
83
+ key = f"decimals_{token}"
84
+ rpc_calls[key] = self.state_service.get_function_info(
85
+ token, ERC20_ABI, "decimals"
86
+ )
75
87
 
76
88
  return rpc_calls
77
89
 
78
90
  def calculate_rewards_balance(
79
91
  self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
80
- reward_token = self.pool_info['rewardToken']
81
- key = f"allPendingRewards_{self.name}_{wallet}_{block_number}".lower()
82
- rewards = decoded_data.get(key) / 10 ** 18
83
- result = {
84
- reward_token: {"amount": rewards}
85
- }
92
+ if self.chain_id != Chain.base:
93
+ reward_token = self.pool_info['rewardToken']
94
+ key = f"allPendingRewards_{self.name}_{wallet}_{block_number}".lower()
95
+ rewards = decoded_data.get(key) / 10 ** 18
96
+ result = {
97
+ reward_token: {"amount": rewards}
98
+ }
99
+ else:
100
+ # key = f"viewPendingRewards_{self.name}_{wallet}_{block_number}".lower()
101
+ # rewards = decoded_data.get(key)
102
+ result = {}
103
+ w3 = self.state_service.get_w3()
104
+ contract = w3.eth.contract(w3.to_checksum_address(
105
+ self.pool_info.get('rewardConverter')), abi=RADIANT_REWARD_CONVERTER_ABI
106
+ )
107
+ rewards = contract.functions.viewPendingRewards(w3.to_checksum_address(wallet)).call()
108
+ amts = rewards[1]
109
+ tokens = rewards[0]
110
+ for idx in range(len(tokens)):
111
+ amount = amts[idx]
112
+ token = tokens[idx].lower()
113
+ if token not in self.pool_info.get('rewardToken', []):
114
+ continue
115
+ decimal_key = f"decimals_{token}"
116
+ result.update({
117
+ token.lower(): {"amount": amount / 10**decoded_data.get(decimal_key)}
118
+ })
86
119
 
87
120
  return result
121
+
122
+ def get_function_reward_converter_info(self, fn_name: str, fn_paras=None, block_number: int = 'latest'):
123
+ return self.state_service.get_function_info(
124
+ self.pool_info['rewardConverter'], self.incentive_abi, fn_name, fn_paras, block_number
125
+ )
@@ -151,16 +151,22 @@ class VenusStateService(CompoundStateService):
151
151
 
152
152
  def calculate_rewards_balance(
153
153
  self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
154
+ if not self.pool_info.get('lensAddress'):
155
+ return {}
156
+
154
157
  w3 = self.state_service.get_w3()
155
- contract = w3.eth.contract(address=w3.to_checksum_address(self.pool_info.get("lensAddress")), abi = self.lens_abi)
158
+ contract = w3.eth.contract(address=w3.to_checksum_address(self.pool_info.get("lensAddress")), abi=self.lens_abi)
156
159
  # get_reward_id = f"pendingRewards_{self.name}_{wallet}_{block_number}".lower()
157
- return_data = contract.functions.pendingRewards(w3.to_checksum_address(wallet), w3.to_checksum_address(self.pool_info.get("comptrollerAddress"))).call(block_identifier=block_number)
160
+ return_data = contract.functions.pendingRewards(
161
+ w3.to_checksum_address(wallet),
162
+ w3.to_checksum_address(self.pool_info.get("comptrollerAddress"))).call(block_identifier=block_number)
163
+
158
164
  rewards = return_data[2]
159
165
  for item in return_data[-1]:
160
166
  rewards += item[-1]
161
167
  reward_token = self.pool_info.get("rewardToken")
162
168
  result = {
163
- reward_token: {"amount": rewards/10**18}
169
+ reward_token: {"amount": rewards / 10 ** 18}
164
170
  }
165
171
  return result
166
172
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: defi-state-querier
3
- Version: 0.5.24
3
+ Version: 0.5.25
4
4
  Summary: Calculate apy, apr, and wallet information,... in decentralized applications.
5
5
  Home-page: https://github.com/Centic-io/defi-state-querier
6
6
  Author: Viet-Bang Pham
@@ -1,4 +1,4 @@
1
- defi_services/__init__.py,sha256=c7RXwaEocvh6Nr9are6JiEVuN0mRThB698HD5t9DIPA,23
1
+ defi_services/__init__.py,sha256=5-0106SeCqcHZ8NXOs5A861CmuWi85kpLQ7U1KYgSe0,23
2
2
  defi_services/abis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  defi_services/abis/multicall_v3_abi.py,sha256=0aPxjrJJFU17fODjvYFRDn5Y5J1yi_AJKc8v1uohNGY,12352
4
4
  defi_services/abis/dex/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -170,6 +170,7 @@ defi_services/abis/lending/onyx/onyx_token_abi.py,sha256=g6qJBTdKUW1eN7iBrWFFFpC
170
170
  defi_services/abis/lending/other/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
171
  defi_services/abis/lending/other/chain_link_abi.py,sha256=xMqktcNzIrN59jX9kDOVg57ROSZEySRHIWqkOc-oRqU,1418
172
172
  defi_services/abis/lending/radiant_v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
+ defi_services/abis/lending/radiant_v2/radiant_reward_converter.py,sha256=-Wq2Mkjw9vJIW7-2fiXfg4ew-ClugFwxl-KPO2WW4b8,15011
173
174
  defi_services/abis/lending/radiant_v2/radiant_v2_incentive_abi.py,sha256=Z6xs9pGo0YrrSmqB_-b9aP1AUE0JjSG2ih4bmZaEShU,19364
174
175
  defi_services/abis/lending/silo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
176
  defi_services/abis/lending/silo/silo_abi.py,sha256=HGGhMO763vY9vD70meT7oduS1j8GwXsAkChntLLXMTw,19370
@@ -381,7 +382,7 @@ defi_services/services/lending/morpho_aave_v2_services.py,sha256=C8mfClb_KVbSr08
381
382
  defi_services/services/lending/morpho_aave_v3_services.py,sha256=5p-_1rpFnjaY55gRJWxdQ1qHuKDrQDMY-6PdRDpfJIo,8268
382
383
  defi_services/services/lending/morpho_compound_services.py,sha256=38AXwi-7yxSrRghS3OCRZrOy9cfJnC3k-yNf1Ep27Ds,14912
383
384
  defi_services/services/lending/onyx_service.py,sha256=CqQcenVidyKYIxNlaTliaYmSI8zV7_zxK_wCQE5s-r4,15401
384
- defi_services/services/lending/radiant_v2_services.py,sha256=Kk417nQkWXaZctx6mtUgXecb-Ni0BULBKnRjq28ll44,3271
385
+ defi_services/services/lending/radiant_v2_services.py,sha256=OEwocsl3ZCWE9OySXBBYtwuYo9DdHAHLIe0NS4qBIsI,5250
385
386
  defi_services/services/lending/silo_services.py,sha256=yLw90u_IXEqE3NbfhVAhG1y8qQqo26xSbYXXlh4lL3g,16726
386
387
  defi_services/services/lending/sonne_service.py,sha256=KQ0CbMVLK-peJZE2_xJtFTK2lBx6Mnijhlwo0BVU4ug,2203
387
388
  defi_services/services/lending/spark_services.py,sha256=68_egY0yOT7YIOVbd8rbHJBJEsL0sOr0zSsTSdw0BUY,1042
@@ -389,7 +390,7 @@ defi_services/services/lending/strike_service.py,sha256=ZQ9B6Xngo64njwqABOO3CH-E
389
390
  defi_services/services/lending/trava_services.py,sha256=XakGhWzEcrEbKxPsAzZz-X8JVtMBkU2hem-AGWTHCvk,19101
390
391
  defi_services/services/lending/uwu_services.py,sha256=umv1YKsFBrOybPgX69ybzzEVOkAsmIAT8YL3UWlaxEk,13842
391
392
  defi_services/services/lending/valas_services.py,sha256=KlguY7dg58jK2LbJn79c6Tsu_gYmIlSLfC3U81YfI5E,22445
392
- defi_services/services/lending/venus_services.py,sha256=LhSG2H16kZn8AqIS7DAOy0kxP8N2O_ZUAEl9Eho4Ujo,16523
393
+ defi_services/services/lending/venus_services.py,sha256=nkgr0s8DjDWfZo1kq1pvE-0Mo2S9bk5Ofb6F7Q-x0rk,16624
393
394
  defi_services/services/lending/wepiggy_services.py,sha256=x10QkYpn47wgNvmDeMGgmzJxv7WPte6hqR3MCBRgMbM,15684
394
395
  defi_services/services/lending/zerolend_services.py,sha256=7ESBKXhUtV-xCnbx_Om8ys3X6ChTICNzbljWnPHBn-k,1334
395
396
  defi_services/services/lending/lending_info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -409,10 +410,10 @@ defi_services/services/lending/lending_info/avalanche/iron_bank_avalanche.py,sha
409
410
  defi_services/services/lending/lending_info/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
410
411
  defi_services/services/lending/lending_info/base/aave_v3_base.py,sha256=2BvRCl5V44ElBh0fHzoMcgC2Ze3K7Hedq-s1ftd1tzY,2893
411
412
  defi_services/services/lending/lending_info/base/compound_v3_base.py,sha256=tL-hRHmlOvtbUAReyt53Hhp14xg36SAHQFpF2stzwdM,5363
412
- defi_services/services/lending/lending_info/base/granary_base.py,sha256=YUB8YXgKeH7beX1fjZdVBXuTe_Az8gUxLh2WFOeTlRM,2785
413
+ defi_services/services/lending/lending_info/base/granary_base.py,sha256=tDaZ7XomhpVvqMt0kO63tdqbf9BVjuuCszo-vHMM1Fc,2827
413
414
  defi_services/services/lending/lending_info/base/ionic_base.py,sha256=W03N7CHWVS6lKBwDKrpWO569sM-6Rzp6VPthutaixsg,7227
414
- defi_services/services/lending/lending_info/base/moonwell_base.py,sha256=XjZW7PYLnwLsUkHfqbfsltdofY4jA2wDfXMrUzWYFCo,3717
415
- defi_services/services/lending/lending_info/base/radiant_v2_base.py,sha256=82rd8ntQHij79FFpfnqIXV31VvJCtV0mOHriIFcKn18,2510
415
+ defi_services/services/lending/lending_info/base/moonwell_base.py,sha256=ayUp4NQSHIMyEgZwqsZmtuUX67UNRE3TT6pC37PBizw,3717
416
+ defi_services/services/lending/lending_info/base/radiant_v2_base.py,sha256=PDj2AWIB_aNav80q_RRxKHSpNi2zzdu3FB2dO2z4FKA,2713
416
417
  defi_services/services/lending/lending_info/base/sonne_base.py,sha256=7t2XMWhlTgAdx-v6Z9GSKLwap1ENjcTeHHZkPo0ldvA,2165
417
418
  defi_services/services/lending/lending_info/base/zerolend_base.py,sha256=rOaAXq0LYGOKcTI79B77prvID3PLHwF4rXKMOaUCxyk,5198
418
419
  defi_services/services/lending/lending_info/bsc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -503,8 +504,8 @@ defi_services/utils/memory_storage.py,sha256=BOT8laB0iVSCGE-oDlpWJQLbSC6X2blKX4z
503
504
  defi_services/utils/sqrt_price_math.py,sha256=9lgUeWFT4wjl3Vq3b7-jZ2bGvvZx7dDBSfVnM3lsZ8o,5575
504
505
  defi_services/utils/thread_proxy.py,sha256=5Z8biAyEReUkh3vfJSvEv7GwMe3CsE5M8CbghkQtePw,2951
505
506
  defi_services/utils/ton_decode_address.py,sha256=EWKwmC7KtbXpdKgiNK-5j-5lX7fCr17I4EWYs9b43eU,443
506
- defi_state_querier-0.5.24.dist-info/LICENSE,sha256=6jmfxa8nUIwfKnzZUxAHJSJ_IS7h7mpbJq26cWjoo-o,1063
507
- defi_state_querier-0.5.24.dist-info/METADATA,sha256=Xyn7wQ4_erZkMqoI1VhXK1RG-zY4qDXbkpVHUGIlQ-4,4631
508
- defi_state_querier-0.5.24.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
509
- defi_state_querier-0.5.24.dist-info/top_level.txt,sha256=C-OTxHK6MknKK-nAbEzCPDUl1M6pktRhgJrmsozdf6g,14
510
- defi_state_querier-0.5.24.dist-info/RECORD,,
507
+ defi_state_querier-0.5.25.dist-info/LICENSE,sha256=6jmfxa8nUIwfKnzZUxAHJSJ_IS7h7mpbJq26cWjoo-o,1063
508
+ defi_state_querier-0.5.25.dist-info/METADATA,sha256=5CqnW4GL3Etspw4XidXYnD6urVOnz_1W17mRoIIL6a4,4631
509
+ defi_state_querier-0.5.25.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
510
+ defi_state_querier-0.5.25.dist-info/top_level.txt,sha256=C-OTxHK6MknKK-nAbEzCPDUl1M6pktRhgJrmsozdf6g,14
511
+ defi_state_querier-0.5.25.dist-info/RECORD,,