@dhedge/v2-sdk 1.4.3 → 1.5.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 (38) hide show
  1. package/dist/config.d.ts +1 -0
  2. package/dist/entities/dhedge.d.ts +6 -0
  3. package/dist/entities/pool.d.ts +8 -0
  4. package/dist/services/aave/assets.d.ts +2 -0
  5. package/dist/services/aave/incentives.d.ts +2 -0
  6. package/dist/services/chainLink/price.d.ts +2 -0
  7. package/dist/services/oneInch/protocols.d.ts +1 -0
  8. package/dist/services/toros/easySwapper.d.ts +7 -0
  9. package/dist/services/toros/pool.d.ts +3 -0
  10. package/dist/test/constants.d.ts +8 -6
  11. package/dist/types.d.ts +2 -1
  12. package/dist/v2-sdk.cjs.development.js +4569 -115
  13. package/dist/v2-sdk.cjs.development.js.map +1 -1
  14. package/dist/v2-sdk.cjs.production.min.js +1 -1
  15. package/dist/v2-sdk.cjs.production.min.js.map +1 -1
  16. package/dist/v2-sdk.esm.js +4567 -113
  17. package/dist/v2-sdk.esm.js.map +1 -1
  18. package/package.json +1 -1
  19. package/src/abi/IAaveV3Incentives.json +614 -0
  20. package/src/abi/IAaveV3LendingPool.json +1241 -0
  21. package/src/abi/IAaveV3PoolAddressProvider.json +468 -0
  22. package/src/abi/IDhedgeEasySwapper.json +443 -0
  23. package/src/abi/IPriceOracle.json +244 -0
  24. package/src/config.ts +18 -4
  25. package/src/entities/dhedge.ts +9 -0
  26. package/src/entities/pool.ts +90 -47
  27. package/src/services/aave/assets.ts +26 -0
  28. package/src/services/aave/incentives.ts +23 -0
  29. package/src/services/chainLink/price.ts +26 -0
  30. package/src/services/oneInch/protocols.ts +18 -0
  31. package/src/services/toros/easySwapper.ts +120 -0
  32. package/src/services/toros/pool.ts +14 -0
  33. package/src/test/1inch.test.ts +3 -3
  34. package/src/test/aave.test.ts +40 -13
  35. package/src/test/constants.ts +14 -9
  36. package/src/test/toros.test.ts +117 -0
  37. package/src/test/wallet.ts +5 -5
  38. package/src/types.ts +2 -1
@@ -0,0 +1,1241 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "inputs": [
5
+ {
6
+ "internalType": "contract IPoolAddressesProvider",
7
+ "name": "provider",
8
+ "type": "address"
9
+ }
10
+ ],
11
+ "stateMutability": "nonpayable",
12
+ "type": "constructor"
13
+ },
14
+ {
15
+ "anonymous": false,
16
+ "inputs": [
17
+ {
18
+ "indexed": true,
19
+ "internalType": "address",
20
+ "name": "reserve",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "indexed": true,
25
+ "internalType": "address",
26
+ "name": "backer",
27
+ "type": "address"
28
+ },
29
+ {
30
+ "indexed": false,
31
+ "internalType": "uint256",
32
+ "name": "amount",
33
+ "type": "uint256"
34
+ },
35
+ {
36
+ "indexed": false,
37
+ "internalType": "uint256",
38
+ "name": "fee",
39
+ "type": "uint256"
40
+ }
41
+ ],
42
+ "name": "BackUnbacked",
43
+ "type": "event"
44
+ },
45
+ {
46
+ "anonymous": false,
47
+ "inputs": [
48
+ {
49
+ "indexed": true,
50
+ "internalType": "address",
51
+ "name": "reserve",
52
+ "type": "address"
53
+ },
54
+ {
55
+ "indexed": false,
56
+ "internalType": "address",
57
+ "name": "user",
58
+ "type": "address"
59
+ },
60
+ {
61
+ "indexed": true,
62
+ "internalType": "address",
63
+ "name": "onBehalfOf",
64
+ "type": "address"
65
+ },
66
+ {
67
+ "indexed": false,
68
+ "internalType": "uint256",
69
+ "name": "amount",
70
+ "type": "uint256"
71
+ },
72
+ {
73
+ "indexed": false,
74
+ "internalType": "enum DataTypes.InterestRateMode",
75
+ "name": "interestRateMode",
76
+ "type": "uint8"
77
+ },
78
+ {
79
+ "indexed": false,
80
+ "internalType": "uint256",
81
+ "name": "borrowRate",
82
+ "type": "uint256"
83
+ },
84
+ {
85
+ "indexed": true,
86
+ "internalType": "uint16",
87
+ "name": "referralCode",
88
+ "type": "uint16"
89
+ }
90
+ ],
91
+ "name": "Borrow",
92
+ "type": "event"
93
+ },
94
+ {
95
+ "anonymous": false,
96
+ "inputs": [
97
+ {
98
+ "indexed": true,
99
+ "internalType": "address",
100
+ "name": "target",
101
+ "type": "address"
102
+ },
103
+ {
104
+ "indexed": false,
105
+ "internalType": "address",
106
+ "name": "initiator",
107
+ "type": "address"
108
+ },
109
+ {
110
+ "indexed": true,
111
+ "internalType": "address",
112
+ "name": "asset",
113
+ "type": "address"
114
+ },
115
+ {
116
+ "indexed": false,
117
+ "internalType": "uint256",
118
+ "name": "amount",
119
+ "type": "uint256"
120
+ },
121
+ {
122
+ "indexed": false,
123
+ "internalType": "enum DataTypes.InterestRateMode",
124
+ "name": "interestRateMode",
125
+ "type": "uint8"
126
+ },
127
+ {
128
+ "indexed": false,
129
+ "internalType": "uint256",
130
+ "name": "premium",
131
+ "type": "uint256"
132
+ },
133
+ {
134
+ "indexed": true,
135
+ "internalType": "uint16",
136
+ "name": "referralCode",
137
+ "type": "uint16"
138
+ }
139
+ ],
140
+ "name": "FlashLoan",
141
+ "type": "event"
142
+ },
143
+ {
144
+ "anonymous": false,
145
+ "inputs": [
146
+ {
147
+ "indexed": true,
148
+ "internalType": "address",
149
+ "name": "asset",
150
+ "type": "address"
151
+ },
152
+ {
153
+ "indexed": false,
154
+ "internalType": "uint256",
155
+ "name": "totalDebt",
156
+ "type": "uint256"
157
+ }
158
+ ],
159
+ "name": "IsolationModeTotalDebtUpdated",
160
+ "type": "event"
161
+ },
162
+ {
163
+ "anonymous": false,
164
+ "inputs": [
165
+ {
166
+ "indexed": true,
167
+ "internalType": "address",
168
+ "name": "collateralAsset",
169
+ "type": "address"
170
+ },
171
+ {
172
+ "indexed": true,
173
+ "internalType": "address",
174
+ "name": "debtAsset",
175
+ "type": "address"
176
+ },
177
+ {
178
+ "indexed": true,
179
+ "internalType": "address",
180
+ "name": "user",
181
+ "type": "address"
182
+ },
183
+ {
184
+ "indexed": false,
185
+ "internalType": "uint256",
186
+ "name": "debtToCover",
187
+ "type": "uint256"
188
+ },
189
+ {
190
+ "indexed": false,
191
+ "internalType": "uint256",
192
+ "name": "liquidatedCollateralAmount",
193
+ "type": "uint256"
194
+ },
195
+ {
196
+ "indexed": false,
197
+ "internalType": "address",
198
+ "name": "liquidator",
199
+ "type": "address"
200
+ },
201
+ {
202
+ "indexed": false,
203
+ "internalType": "bool",
204
+ "name": "receiveAToken",
205
+ "type": "bool"
206
+ }
207
+ ],
208
+ "name": "LiquidationCall",
209
+ "type": "event"
210
+ },
211
+ {
212
+ "anonymous": false,
213
+ "inputs": [
214
+ {
215
+ "indexed": true,
216
+ "internalType": "address",
217
+ "name": "reserve",
218
+ "type": "address"
219
+ },
220
+ {
221
+ "indexed": false,
222
+ "internalType": "address",
223
+ "name": "user",
224
+ "type": "address"
225
+ },
226
+ {
227
+ "indexed": true,
228
+ "internalType": "address",
229
+ "name": "onBehalfOf",
230
+ "type": "address"
231
+ },
232
+ {
233
+ "indexed": false,
234
+ "internalType": "uint256",
235
+ "name": "amount",
236
+ "type": "uint256"
237
+ },
238
+ {
239
+ "indexed": true,
240
+ "internalType": "uint16",
241
+ "name": "referralCode",
242
+ "type": "uint16"
243
+ }
244
+ ],
245
+ "name": "MintUnbacked",
246
+ "type": "event"
247
+ },
248
+ {
249
+ "anonymous": false,
250
+ "inputs": [
251
+ {
252
+ "indexed": true,
253
+ "internalType": "address",
254
+ "name": "reserve",
255
+ "type": "address"
256
+ },
257
+ {
258
+ "indexed": false,
259
+ "internalType": "uint256",
260
+ "name": "amountMinted",
261
+ "type": "uint256"
262
+ }
263
+ ],
264
+ "name": "MintedToTreasury",
265
+ "type": "event"
266
+ },
267
+ {
268
+ "anonymous": false,
269
+ "inputs": [
270
+ {
271
+ "indexed": true,
272
+ "internalType": "address",
273
+ "name": "reserve",
274
+ "type": "address"
275
+ },
276
+ {
277
+ "indexed": true,
278
+ "internalType": "address",
279
+ "name": "user",
280
+ "type": "address"
281
+ }
282
+ ],
283
+ "name": "RebalanceStableBorrowRate",
284
+ "type": "event"
285
+ },
286
+ {
287
+ "anonymous": false,
288
+ "inputs": [
289
+ {
290
+ "indexed": true,
291
+ "internalType": "address",
292
+ "name": "reserve",
293
+ "type": "address"
294
+ },
295
+ {
296
+ "indexed": true,
297
+ "internalType": "address",
298
+ "name": "user",
299
+ "type": "address"
300
+ },
301
+ {
302
+ "indexed": true,
303
+ "internalType": "address",
304
+ "name": "repayer",
305
+ "type": "address"
306
+ },
307
+ {
308
+ "indexed": false,
309
+ "internalType": "uint256",
310
+ "name": "amount",
311
+ "type": "uint256"
312
+ },
313
+ {
314
+ "indexed": false,
315
+ "internalType": "bool",
316
+ "name": "useATokens",
317
+ "type": "bool"
318
+ }
319
+ ],
320
+ "name": "Repay",
321
+ "type": "event"
322
+ },
323
+ {
324
+ "anonymous": false,
325
+ "inputs": [
326
+ {
327
+ "indexed": true,
328
+ "internalType": "address",
329
+ "name": "reserve",
330
+ "type": "address"
331
+ },
332
+ {
333
+ "indexed": false,
334
+ "internalType": "uint256",
335
+ "name": "liquidityRate",
336
+ "type": "uint256"
337
+ },
338
+ {
339
+ "indexed": false,
340
+ "internalType": "uint256",
341
+ "name": "stableBorrowRate",
342
+ "type": "uint256"
343
+ },
344
+ {
345
+ "indexed": false,
346
+ "internalType": "uint256",
347
+ "name": "variableBorrowRate",
348
+ "type": "uint256"
349
+ },
350
+ {
351
+ "indexed": false,
352
+ "internalType": "uint256",
353
+ "name": "liquidityIndex",
354
+ "type": "uint256"
355
+ },
356
+ {
357
+ "indexed": false,
358
+ "internalType": "uint256",
359
+ "name": "variableBorrowIndex",
360
+ "type": "uint256"
361
+ }
362
+ ],
363
+ "name": "ReserveDataUpdated",
364
+ "type": "event"
365
+ },
366
+ {
367
+ "anonymous": false,
368
+ "inputs": [
369
+ {
370
+ "indexed": true,
371
+ "internalType": "address",
372
+ "name": "reserve",
373
+ "type": "address"
374
+ },
375
+ {
376
+ "indexed": true,
377
+ "internalType": "address",
378
+ "name": "user",
379
+ "type": "address"
380
+ }
381
+ ],
382
+ "name": "ReserveUsedAsCollateralDisabled",
383
+ "type": "event"
384
+ },
385
+ {
386
+ "anonymous": false,
387
+ "inputs": [
388
+ {
389
+ "indexed": true,
390
+ "internalType": "address",
391
+ "name": "reserve",
392
+ "type": "address"
393
+ },
394
+ {
395
+ "indexed": true,
396
+ "internalType": "address",
397
+ "name": "user",
398
+ "type": "address"
399
+ }
400
+ ],
401
+ "name": "ReserveUsedAsCollateralEnabled",
402
+ "type": "event"
403
+ },
404
+ {
405
+ "anonymous": false,
406
+ "inputs": [
407
+ {
408
+ "indexed": true,
409
+ "internalType": "address",
410
+ "name": "reserve",
411
+ "type": "address"
412
+ },
413
+ {
414
+ "indexed": false,
415
+ "internalType": "address",
416
+ "name": "user",
417
+ "type": "address"
418
+ },
419
+ {
420
+ "indexed": true,
421
+ "internalType": "address",
422
+ "name": "onBehalfOf",
423
+ "type": "address"
424
+ },
425
+ {
426
+ "indexed": false,
427
+ "internalType": "uint256",
428
+ "name": "amount",
429
+ "type": "uint256"
430
+ },
431
+ {
432
+ "indexed": true,
433
+ "internalType": "uint16",
434
+ "name": "referralCode",
435
+ "type": "uint16"
436
+ }
437
+ ],
438
+ "name": "Supply",
439
+ "type": "event"
440
+ },
441
+ {
442
+ "anonymous": false,
443
+ "inputs": [
444
+ {
445
+ "indexed": true,
446
+ "internalType": "address",
447
+ "name": "reserve",
448
+ "type": "address"
449
+ },
450
+ {
451
+ "indexed": true,
452
+ "internalType": "address",
453
+ "name": "user",
454
+ "type": "address"
455
+ },
456
+ {
457
+ "indexed": false,
458
+ "internalType": "enum DataTypes.InterestRateMode",
459
+ "name": "interestRateMode",
460
+ "type": "uint8"
461
+ }
462
+ ],
463
+ "name": "SwapBorrowRateMode",
464
+ "type": "event"
465
+ },
466
+ {
467
+ "anonymous": false,
468
+ "inputs": [
469
+ {
470
+ "indexed": true,
471
+ "internalType": "address",
472
+ "name": "user",
473
+ "type": "address"
474
+ },
475
+ {
476
+ "indexed": false,
477
+ "internalType": "uint8",
478
+ "name": "categoryId",
479
+ "type": "uint8"
480
+ }
481
+ ],
482
+ "name": "UserEModeSet",
483
+ "type": "event"
484
+ },
485
+ {
486
+ "anonymous": false,
487
+ "inputs": [
488
+ {
489
+ "indexed": true,
490
+ "internalType": "address",
491
+ "name": "reserve",
492
+ "type": "address"
493
+ },
494
+ {
495
+ "indexed": true,
496
+ "internalType": "address",
497
+ "name": "user",
498
+ "type": "address"
499
+ },
500
+ {
501
+ "indexed": true,
502
+ "internalType": "address",
503
+ "name": "to",
504
+ "type": "address"
505
+ },
506
+ {
507
+ "indexed": false,
508
+ "internalType": "uint256",
509
+ "name": "amount",
510
+ "type": "uint256"
511
+ }
512
+ ],
513
+ "name": "Withdraw",
514
+ "type": "event"
515
+ },
516
+ {
517
+ "inputs": [],
518
+ "name": "ADDRESSES_PROVIDER",
519
+ "outputs": [
520
+ {
521
+ "internalType": "contract IPoolAddressesProvider",
522
+ "name": "",
523
+ "type": "address"
524
+ }
525
+ ],
526
+ "stateMutability": "view",
527
+ "type": "function"
528
+ },
529
+ {
530
+ "inputs": [],
531
+ "name": "BRIDGE_PROTOCOL_FEE",
532
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
533
+ "stateMutability": "view",
534
+ "type": "function"
535
+ },
536
+ {
537
+ "inputs": [],
538
+ "name": "FLASHLOAN_PREMIUM_TOTAL",
539
+ "outputs": [{ "internalType": "uint128", "name": "", "type": "uint128" }],
540
+ "stateMutability": "view",
541
+ "type": "function"
542
+ },
543
+ {
544
+ "inputs": [],
545
+ "name": "FLASHLOAN_PREMIUM_TO_PROTOCOL",
546
+ "outputs": [{ "internalType": "uint128", "name": "", "type": "uint128" }],
547
+ "stateMutability": "view",
548
+ "type": "function"
549
+ },
550
+ {
551
+ "inputs": [],
552
+ "name": "MAX_NUMBER_RESERVES",
553
+ "outputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }],
554
+ "stateMutability": "view",
555
+ "type": "function"
556
+ },
557
+ {
558
+ "inputs": [],
559
+ "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT",
560
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
561
+ "stateMutability": "view",
562
+ "type": "function"
563
+ },
564
+ {
565
+ "inputs": [],
566
+ "name": "POOL_REVISION",
567
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
568
+ "stateMutability": "view",
569
+ "type": "function"
570
+ },
571
+ {
572
+ "inputs": [
573
+ { "internalType": "address", "name": "asset", "type": "address" },
574
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
575
+ { "internalType": "uint256", "name": "fee", "type": "uint256" }
576
+ ],
577
+ "name": "backUnbacked",
578
+ "outputs": [],
579
+ "stateMutability": "nonpayable",
580
+ "type": "function"
581
+ },
582
+ {
583
+ "inputs": [
584
+ { "internalType": "address", "name": "asset", "type": "address" },
585
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
586
+ {
587
+ "internalType": "uint256",
588
+ "name": "interestRateMode",
589
+ "type": "uint256"
590
+ },
591
+ { "internalType": "uint16", "name": "referralCode", "type": "uint16" },
592
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" }
593
+ ],
594
+ "name": "borrow",
595
+ "outputs": [],
596
+ "stateMutability": "nonpayable",
597
+ "type": "function"
598
+ },
599
+ {
600
+ "inputs": [
601
+ { "internalType": "uint8", "name": "id", "type": "uint8" },
602
+ {
603
+ "components": [
604
+ { "internalType": "uint16", "name": "ltv", "type": "uint16" },
605
+ {
606
+ "internalType": "uint16",
607
+ "name": "liquidationThreshold",
608
+ "type": "uint16"
609
+ },
610
+ {
611
+ "internalType": "uint16",
612
+ "name": "liquidationBonus",
613
+ "type": "uint16"
614
+ },
615
+ {
616
+ "internalType": "address",
617
+ "name": "priceSource",
618
+ "type": "address"
619
+ },
620
+ { "internalType": "string", "name": "label", "type": "string" }
621
+ ],
622
+ "internalType": "struct DataTypes.EModeCategory",
623
+ "name": "category",
624
+ "type": "tuple"
625
+ }
626
+ ],
627
+ "name": "configureEModeCategory",
628
+ "outputs": [],
629
+ "stateMutability": "nonpayable",
630
+ "type": "function"
631
+ },
632
+ {
633
+ "inputs": [
634
+ { "internalType": "address", "name": "asset", "type": "address" },
635
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
636
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" },
637
+ { "internalType": "uint16", "name": "referralCode", "type": "uint16" }
638
+ ],
639
+ "name": "deposit",
640
+ "outputs": [],
641
+ "stateMutability": "nonpayable",
642
+ "type": "function"
643
+ },
644
+ {
645
+ "inputs": [
646
+ { "internalType": "address", "name": "asset", "type": "address" }
647
+ ],
648
+ "name": "dropReserve",
649
+ "outputs": [],
650
+ "stateMutability": "nonpayable",
651
+ "type": "function"
652
+ },
653
+ {
654
+ "inputs": [
655
+ { "internalType": "address", "name": "asset", "type": "address" },
656
+ { "internalType": "address", "name": "from", "type": "address" },
657
+ { "internalType": "address", "name": "to", "type": "address" },
658
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
659
+ {
660
+ "internalType": "uint256",
661
+ "name": "balanceFromBefore",
662
+ "type": "uint256"
663
+ },
664
+ {
665
+ "internalType": "uint256",
666
+ "name": "balanceToBefore",
667
+ "type": "uint256"
668
+ }
669
+ ],
670
+ "name": "finalizeTransfer",
671
+ "outputs": [],
672
+ "stateMutability": "nonpayable",
673
+ "type": "function"
674
+ },
675
+ {
676
+ "inputs": [
677
+ {
678
+ "internalType": "address",
679
+ "name": "receiverAddress",
680
+ "type": "address"
681
+ },
682
+ { "internalType": "address[]", "name": "assets", "type": "address[]" },
683
+ { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" },
684
+ {
685
+ "internalType": "uint256[]",
686
+ "name": "interestRateModes",
687
+ "type": "uint256[]"
688
+ },
689
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" },
690
+ { "internalType": "bytes", "name": "params", "type": "bytes" },
691
+ { "internalType": "uint16", "name": "referralCode", "type": "uint16" }
692
+ ],
693
+ "name": "flashLoan",
694
+ "outputs": [],
695
+ "stateMutability": "nonpayable",
696
+ "type": "function"
697
+ },
698
+ {
699
+ "inputs": [
700
+ {
701
+ "internalType": "address",
702
+ "name": "receiverAddress",
703
+ "type": "address"
704
+ },
705
+ { "internalType": "address", "name": "asset", "type": "address" },
706
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
707
+ { "internalType": "bytes", "name": "params", "type": "bytes" },
708
+ { "internalType": "uint16", "name": "referralCode", "type": "uint16" }
709
+ ],
710
+ "name": "flashLoanSimple",
711
+ "outputs": [],
712
+ "stateMutability": "nonpayable",
713
+ "type": "function"
714
+ },
715
+ {
716
+ "inputs": [
717
+ { "internalType": "address", "name": "asset", "type": "address" }
718
+ ],
719
+ "name": "getConfiguration",
720
+ "outputs": [
721
+ {
722
+ "components": [
723
+ { "internalType": "uint256", "name": "data", "type": "uint256" }
724
+ ],
725
+ "internalType": "struct DataTypes.ReserveConfigurationMap",
726
+ "name": "",
727
+ "type": "tuple"
728
+ }
729
+ ],
730
+ "stateMutability": "view",
731
+ "type": "function"
732
+ },
733
+ {
734
+ "inputs": [{ "internalType": "uint8", "name": "id", "type": "uint8" }],
735
+ "name": "getEModeCategoryData",
736
+ "outputs": [
737
+ {
738
+ "components": [
739
+ { "internalType": "uint16", "name": "ltv", "type": "uint16" },
740
+ {
741
+ "internalType": "uint16",
742
+ "name": "liquidationThreshold",
743
+ "type": "uint16"
744
+ },
745
+ {
746
+ "internalType": "uint16",
747
+ "name": "liquidationBonus",
748
+ "type": "uint16"
749
+ },
750
+ {
751
+ "internalType": "address",
752
+ "name": "priceSource",
753
+ "type": "address"
754
+ },
755
+ { "internalType": "string", "name": "label", "type": "string" }
756
+ ],
757
+ "internalType": "struct DataTypes.EModeCategory",
758
+ "name": "",
759
+ "type": "tuple"
760
+ }
761
+ ],
762
+ "stateMutability": "view",
763
+ "type": "function"
764
+ },
765
+ {
766
+ "inputs": [{ "internalType": "uint16", "name": "id", "type": "uint16" }],
767
+ "name": "getReserveAddressById",
768
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
769
+ "stateMutability": "view",
770
+ "type": "function"
771
+ },
772
+ {
773
+ "inputs": [
774
+ { "internalType": "address", "name": "asset", "type": "address" }
775
+ ],
776
+ "name": "getReserveData",
777
+ "outputs": [
778
+ {
779
+ "components": [
780
+ {
781
+ "components": [
782
+ { "internalType": "uint256", "name": "data", "type": "uint256" }
783
+ ],
784
+ "internalType": "struct DataTypes.ReserveConfigurationMap",
785
+ "name": "configuration",
786
+ "type": "tuple"
787
+ },
788
+ {
789
+ "internalType": "uint128",
790
+ "name": "liquidityIndex",
791
+ "type": "uint128"
792
+ },
793
+ {
794
+ "internalType": "uint128",
795
+ "name": "currentLiquidityRate",
796
+ "type": "uint128"
797
+ },
798
+ {
799
+ "internalType": "uint128",
800
+ "name": "variableBorrowIndex",
801
+ "type": "uint128"
802
+ },
803
+ {
804
+ "internalType": "uint128",
805
+ "name": "currentVariableBorrowRate",
806
+ "type": "uint128"
807
+ },
808
+ {
809
+ "internalType": "uint128",
810
+ "name": "currentStableBorrowRate",
811
+ "type": "uint128"
812
+ },
813
+ {
814
+ "internalType": "uint40",
815
+ "name": "lastUpdateTimestamp",
816
+ "type": "uint40"
817
+ },
818
+ { "internalType": "uint16", "name": "id", "type": "uint16" },
819
+ {
820
+ "internalType": "address",
821
+ "name": "aTokenAddress",
822
+ "type": "address"
823
+ },
824
+ {
825
+ "internalType": "address",
826
+ "name": "stableDebtTokenAddress",
827
+ "type": "address"
828
+ },
829
+ {
830
+ "internalType": "address",
831
+ "name": "variableDebtTokenAddress",
832
+ "type": "address"
833
+ },
834
+ {
835
+ "internalType": "address",
836
+ "name": "interestRateStrategyAddress",
837
+ "type": "address"
838
+ },
839
+ {
840
+ "internalType": "uint128",
841
+ "name": "accruedToTreasury",
842
+ "type": "uint128"
843
+ },
844
+ {
845
+ "internalType": "uint128",
846
+ "name": "unbacked",
847
+ "type": "uint128"
848
+ },
849
+ {
850
+ "internalType": "uint128",
851
+ "name": "isolationModeTotalDebt",
852
+ "type": "uint128"
853
+ }
854
+ ],
855
+ "internalType": "struct DataTypes.ReserveData",
856
+ "name": "",
857
+ "type": "tuple"
858
+ }
859
+ ],
860
+ "stateMutability": "view",
861
+ "type": "function"
862
+ },
863
+ {
864
+ "inputs": [
865
+ { "internalType": "address", "name": "asset", "type": "address" }
866
+ ],
867
+ "name": "getReserveNormalizedIncome",
868
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
869
+ "stateMutability": "view",
870
+ "type": "function"
871
+ },
872
+ {
873
+ "inputs": [
874
+ { "internalType": "address", "name": "asset", "type": "address" }
875
+ ],
876
+ "name": "getReserveNormalizedVariableDebt",
877
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
878
+ "stateMutability": "view",
879
+ "type": "function"
880
+ },
881
+ {
882
+ "inputs": [],
883
+ "name": "getReservesList",
884
+ "outputs": [
885
+ { "internalType": "address[]", "name": "", "type": "address[]" }
886
+ ],
887
+ "stateMutability": "view",
888
+ "type": "function"
889
+ },
890
+ {
891
+ "inputs": [
892
+ { "internalType": "address", "name": "user", "type": "address" }
893
+ ],
894
+ "name": "getUserAccountData",
895
+ "outputs": [
896
+ {
897
+ "internalType": "uint256",
898
+ "name": "totalCollateralBase",
899
+ "type": "uint256"
900
+ },
901
+ {
902
+ "internalType": "uint256",
903
+ "name": "totalDebtBase",
904
+ "type": "uint256"
905
+ },
906
+ {
907
+ "internalType": "uint256",
908
+ "name": "availableBorrowsBase",
909
+ "type": "uint256"
910
+ },
911
+ {
912
+ "internalType": "uint256",
913
+ "name": "currentLiquidationThreshold",
914
+ "type": "uint256"
915
+ },
916
+ { "internalType": "uint256", "name": "ltv", "type": "uint256" },
917
+ { "internalType": "uint256", "name": "healthFactor", "type": "uint256" }
918
+ ],
919
+ "stateMutability": "view",
920
+ "type": "function"
921
+ },
922
+ {
923
+ "inputs": [
924
+ { "internalType": "address", "name": "user", "type": "address" }
925
+ ],
926
+ "name": "getUserConfiguration",
927
+ "outputs": [
928
+ {
929
+ "components": [
930
+ { "internalType": "uint256", "name": "data", "type": "uint256" }
931
+ ],
932
+ "internalType": "struct DataTypes.UserConfigurationMap",
933
+ "name": "",
934
+ "type": "tuple"
935
+ }
936
+ ],
937
+ "stateMutability": "view",
938
+ "type": "function"
939
+ },
940
+ {
941
+ "inputs": [
942
+ { "internalType": "address", "name": "user", "type": "address" }
943
+ ],
944
+ "name": "getUserEMode",
945
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
946
+ "stateMutability": "view",
947
+ "type": "function"
948
+ },
949
+ {
950
+ "inputs": [
951
+ { "internalType": "address", "name": "asset", "type": "address" },
952
+ {
953
+ "internalType": "address",
954
+ "name": "aTokenAddress",
955
+ "type": "address"
956
+ },
957
+ {
958
+ "internalType": "address",
959
+ "name": "stableDebtAddress",
960
+ "type": "address"
961
+ },
962
+ {
963
+ "internalType": "address",
964
+ "name": "variableDebtAddress",
965
+ "type": "address"
966
+ },
967
+ {
968
+ "internalType": "address",
969
+ "name": "interestRateStrategyAddress",
970
+ "type": "address"
971
+ }
972
+ ],
973
+ "name": "initReserve",
974
+ "outputs": [],
975
+ "stateMutability": "nonpayable",
976
+ "type": "function"
977
+ },
978
+ {
979
+ "inputs": [
980
+ {
981
+ "internalType": "contract IPoolAddressesProvider",
982
+ "name": "provider",
983
+ "type": "address"
984
+ }
985
+ ],
986
+ "name": "initialize",
987
+ "outputs": [],
988
+ "stateMutability": "nonpayable",
989
+ "type": "function"
990
+ },
991
+ {
992
+ "inputs": [
993
+ {
994
+ "internalType": "address",
995
+ "name": "collateralAsset",
996
+ "type": "address"
997
+ },
998
+ { "internalType": "address", "name": "debtAsset", "type": "address" },
999
+ { "internalType": "address", "name": "user", "type": "address" },
1000
+ { "internalType": "uint256", "name": "debtToCover", "type": "uint256" },
1001
+ { "internalType": "bool", "name": "receiveAToken", "type": "bool" }
1002
+ ],
1003
+ "name": "liquidationCall",
1004
+ "outputs": [],
1005
+ "stateMutability": "nonpayable",
1006
+ "type": "function"
1007
+ },
1008
+ {
1009
+ "inputs": [
1010
+ { "internalType": "address[]", "name": "assets", "type": "address[]" }
1011
+ ],
1012
+ "name": "mintToTreasury",
1013
+ "outputs": [],
1014
+ "stateMutability": "nonpayable",
1015
+ "type": "function"
1016
+ },
1017
+ {
1018
+ "inputs": [
1019
+ { "internalType": "address", "name": "asset", "type": "address" },
1020
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
1021
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" },
1022
+ { "internalType": "uint16", "name": "referralCode", "type": "uint16" }
1023
+ ],
1024
+ "name": "mintUnbacked",
1025
+ "outputs": [],
1026
+ "stateMutability": "nonpayable",
1027
+ "type": "function"
1028
+ },
1029
+ {
1030
+ "inputs": [
1031
+ { "internalType": "address", "name": "asset", "type": "address" },
1032
+ { "internalType": "address", "name": "user", "type": "address" }
1033
+ ],
1034
+ "name": "rebalanceStableBorrowRate",
1035
+ "outputs": [],
1036
+ "stateMutability": "nonpayable",
1037
+ "type": "function"
1038
+ },
1039
+ {
1040
+ "inputs": [
1041
+ { "internalType": "address", "name": "asset", "type": "address" },
1042
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
1043
+ {
1044
+ "internalType": "uint256",
1045
+ "name": "interestRateMode",
1046
+ "type": "uint256"
1047
+ },
1048
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" }
1049
+ ],
1050
+ "name": "repay",
1051
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
1052
+ "stateMutability": "nonpayable",
1053
+ "type": "function"
1054
+ },
1055
+ {
1056
+ "inputs": [
1057
+ { "internalType": "address", "name": "asset", "type": "address" },
1058
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
1059
+ {
1060
+ "internalType": "uint256",
1061
+ "name": "interestRateMode",
1062
+ "type": "uint256"
1063
+ }
1064
+ ],
1065
+ "name": "repayWithATokens",
1066
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
1067
+ "stateMutability": "nonpayable",
1068
+ "type": "function"
1069
+ },
1070
+ {
1071
+ "inputs": [
1072
+ { "internalType": "address", "name": "asset", "type": "address" },
1073
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
1074
+ {
1075
+ "internalType": "uint256",
1076
+ "name": "interestRateMode",
1077
+ "type": "uint256"
1078
+ },
1079
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" },
1080
+ { "internalType": "uint256", "name": "deadline", "type": "uint256" },
1081
+ { "internalType": "uint8", "name": "permitV", "type": "uint8" },
1082
+ { "internalType": "bytes32", "name": "permitR", "type": "bytes32" },
1083
+ { "internalType": "bytes32", "name": "permitS", "type": "bytes32" }
1084
+ ],
1085
+ "name": "repayWithPermit",
1086
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
1087
+ "stateMutability": "nonpayable",
1088
+ "type": "function"
1089
+ },
1090
+ {
1091
+ "inputs": [
1092
+ { "internalType": "address", "name": "token", "type": "address" },
1093
+ { "internalType": "address", "name": "to", "type": "address" },
1094
+ { "internalType": "uint256", "name": "amount", "type": "uint256" }
1095
+ ],
1096
+ "name": "rescueTokens",
1097
+ "outputs": [],
1098
+ "stateMutability": "nonpayable",
1099
+ "type": "function"
1100
+ },
1101
+ {
1102
+ "inputs": [
1103
+ { "internalType": "address", "name": "asset", "type": "address" }
1104
+ ],
1105
+ "name": "resetIsolationModeTotalDebt",
1106
+ "outputs": [],
1107
+ "stateMutability": "nonpayable",
1108
+ "type": "function"
1109
+ },
1110
+ {
1111
+ "inputs": [
1112
+ { "internalType": "address", "name": "asset", "type": "address" },
1113
+ {
1114
+ "components": [
1115
+ { "internalType": "uint256", "name": "data", "type": "uint256" }
1116
+ ],
1117
+ "internalType": "struct DataTypes.ReserveConfigurationMap",
1118
+ "name": "configuration",
1119
+ "type": "tuple"
1120
+ }
1121
+ ],
1122
+ "name": "setConfiguration",
1123
+ "outputs": [],
1124
+ "stateMutability": "nonpayable",
1125
+ "type": "function"
1126
+ },
1127
+ {
1128
+ "inputs": [
1129
+ { "internalType": "address", "name": "asset", "type": "address" },
1130
+ {
1131
+ "internalType": "address",
1132
+ "name": "rateStrategyAddress",
1133
+ "type": "address"
1134
+ }
1135
+ ],
1136
+ "name": "setReserveInterestRateStrategyAddress",
1137
+ "outputs": [],
1138
+ "stateMutability": "nonpayable",
1139
+ "type": "function"
1140
+ },
1141
+ {
1142
+ "inputs": [
1143
+ { "internalType": "uint8", "name": "categoryId", "type": "uint8" }
1144
+ ],
1145
+ "name": "setUserEMode",
1146
+ "outputs": [],
1147
+ "stateMutability": "nonpayable",
1148
+ "type": "function"
1149
+ },
1150
+ {
1151
+ "inputs": [
1152
+ { "internalType": "address", "name": "asset", "type": "address" },
1153
+ { "internalType": "bool", "name": "useAsCollateral", "type": "bool" }
1154
+ ],
1155
+ "name": "setUserUseReserveAsCollateral",
1156
+ "outputs": [],
1157
+ "stateMutability": "nonpayable",
1158
+ "type": "function"
1159
+ },
1160
+ {
1161
+ "inputs": [
1162
+ { "internalType": "address", "name": "asset", "type": "address" },
1163
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
1164
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" },
1165
+ { "internalType": "uint16", "name": "referralCode", "type": "uint16" }
1166
+ ],
1167
+ "name": "supply",
1168
+ "outputs": [],
1169
+ "stateMutability": "nonpayable",
1170
+ "type": "function"
1171
+ },
1172
+ {
1173
+ "inputs": [
1174
+ { "internalType": "address", "name": "asset", "type": "address" },
1175
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
1176
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" },
1177
+ { "internalType": "uint16", "name": "referralCode", "type": "uint16" },
1178
+ { "internalType": "uint256", "name": "deadline", "type": "uint256" },
1179
+ { "internalType": "uint8", "name": "permitV", "type": "uint8" },
1180
+ { "internalType": "bytes32", "name": "permitR", "type": "bytes32" },
1181
+ { "internalType": "bytes32", "name": "permitS", "type": "bytes32" }
1182
+ ],
1183
+ "name": "supplyWithPermit",
1184
+ "outputs": [],
1185
+ "stateMutability": "nonpayable",
1186
+ "type": "function"
1187
+ },
1188
+ {
1189
+ "inputs": [
1190
+ { "internalType": "address", "name": "asset", "type": "address" },
1191
+ {
1192
+ "internalType": "uint256",
1193
+ "name": "interestRateMode",
1194
+ "type": "uint256"
1195
+ }
1196
+ ],
1197
+ "name": "swapBorrowRateMode",
1198
+ "outputs": [],
1199
+ "stateMutability": "nonpayable",
1200
+ "type": "function"
1201
+ },
1202
+ {
1203
+ "inputs": [
1204
+ { "internalType": "uint256", "name": "protocolFee", "type": "uint256" }
1205
+ ],
1206
+ "name": "updateBridgeProtocolFee",
1207
+ "outputs": [],
1208
+ "stateMutability": "nonpayable",
1209
+ "type": "function"
1210
+ },
1211
+ {
1212
+ "inputs": [
1213
+ {
1214
+ "internalType": "uint128",
1215
+ "name": "flashLoanPremiumTotal",
1216
+ "type": "uint128"
1217
+ },
1218
+ {
1219
+ "internalType": "uint128",
1220
+ "name": "flashLoanPremiumToProtocol",
1221
+ "type": "uint128"
1222
+ }
1223
+ ],
1224
+ "name": "updateFlashloanPremiums",
1225
+ "outputs": [],
1226
+ "stateMutability": "nonpayable",
1227
+ "type": "function"
1228
+ },
1229
+ {
1230
+ "inputs": [
1231
+ { "internalType": "address", "name": "asset", "type": "address" },
1232
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
1233
+ { "internalType": "address", "name": "to", "type": "address" }
1234
+ ],
1235
+ "name": "withdraw",
1236
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
1237
+ "stateMutability": "nonpayable",
1238
+ "type": "function"
1239
+ }
1240
+ ]
1241
+ }