@dhedge/v2-sdk 1.0.0 → 1.2.0

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 (46) hide show
  1. package/README.md +69 -3
  2. package/dist/config.d.ts +4 -0
  3. package/dist/entities/dhedge.d.ts +2 -1
  4. package/dist/entities/pool.d.ts +94 -13
  5. package/dist/entities/utils.d.ts +15 -0
  6. package/dist/services/claim-balancer/claim.service.d.ts +21 -0
  7. package/dist/services/claim-balancer/claim.worker.d.ts +4 -0
  8. package/dist/services/claim-balancer/ipfs.service.d.ts +4 -0
  9. package/dist/services/claim-balancer/types.d.ts +54 -0
  10. package/dist/test/constants.d.ts +12 -0
  11. package/dist/types.d.ts +17 -3
  12. package/dist/utils/contract.d.ts +14 -0
  13. package/dist/utils/index.d.ts +7 -0
  14. package/dist/utils/merkle.d.ts +22 -0
  15. package/dist/v2-sdk.cjs.development.js +5066 -669
  16. package/dist/v2-sdk.cjs.development.js.map +1 -1
  17. package/dist/v2-sdk.cjs.production.min.js +1 -1
  18. package/dist/v2-sdk.cjs.production.min.js.map +1 -1
  19. package/dist/v2-sdk.esm.js +5065 -670
  20. package/dist/v2-sdk.esm.js.map +1 -1
  21. package/package.json +11 -2
  22. package/src/abi/IAaveIncentivesController.json +50 -0
  23. package/src/abi/IBalancerMerkleOrchard.json +353 -0
  24. package/src/abi/IBalancertV2Vault.json +938 -0
  25. package/src/abi/ILendingPool.json +807 -0
  26. package/src/config.ts +26 -3
  27. package/src/entities/dhedge.ts +7 -3
  28. package/src/entities/pool.ts +360 -35
  29. package/src/entities/utils.ts +201 -1
  30. package/src/services/claim-balancer/MultiTokenClaim.json +115 -0
  31. package/src/services/claim-balancer/claim.service.ts +324 -0
  32. package/src/services/claim-balancer/claim.worker.ts +32 -0
  33. package/src/services/claim-balancer/ipfs.service.ts +12 -0
  34. package/src/services/claim-balancer/types.ts +66 -0
  35. package/src/test/aave.test.ts +73 -0
  36. package/src/test/balancer.test.ts +109 -0
  37. package/src/test/constants.ts +13 -0
  38. package/src/test/dhedge.test.ts +20 -8
  39. package/src/test/oneInch.test.ts +56 -0
  40. package/src/test/pool.test.ts +11 -168
  41. package/src/test/sushi.test.ts +173 -0
  42. package/src/test/utils.test.ts +43 -17
  43. package/src/types.ts +18 -3
  44. package/src/utils/contract.ts +95 -0
  45. package/src/utils/index.ts +38 -0
  46. package/src/utils/merkle.ts +172 -0
@@ -0,0 +1,807 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "anonymous": false,
5
+ "inputs": [
6
+ {
7
+ "indexed": true,
8
+ "internalType": "address",
9
+ "name": "reserve",
10
+ "type": "address"
11
+ },
12
+ {
13
+ "indexed": false,
14
+ "internalType": "address",
15
+ "name": "user",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "indexed": true,
20
+ "internalType": "address",
21
+ "name": "onBehalfOf",
22
+ "type": "address"
23
+ },
24
+ {
25
+ "indexed": false,
26
+ "internalType": "uint256",
27
+ "name": "amount",
28
+ "type": "uint256"
29
+ },
30
+ {
31
+ "indexed": false,
32
+ "internalType": "uint256",
33
+ "name": "borrowRateMode",
34
+ "type": "uint256"
35
+ },
36
+ {
37
+ "indexed": false,
38
+ "internalType": "uint256",
39
+ "name": "borrowRate",
40
+ "type": "uint256"
41
+ },
42
+ {
43
+ "indexed": true,
44
+ "internalType": "uint16",
45
+ "name": "referral",
46
+ "type": "uint16"
47
+ }
48
+ ],
49
+ "name": "Borrow",
50
+ "type": "event"
51
+ },
52
+ {
53
+ "anonymous": false,
54
+ "inputs": [
55
+ {
56
+ "indexed": true,
57
+ "internalType": "address",
58
+ "name": "reserve",
59
+ "type": "address"
60
+ },
61
+ {
62
+ "indexed": false,
63
+ "internalType": "address",
64
+ "name": "user",
65
+ "type": "address"
66
+ },
67
+ {
68
+ "indexed": true,
69
+ "internalType": "address",
70
+ "name": "onBehalfOf",
71
+ "type": "address"
72
+ },
73
+ {
74
+ "indexed": false,
75
+ "internalType": "uint256",
76
+ "name": "amount",
77
+ "type": "uint256"
78
+ },
79
+ {
80
+ "indexed": true,
81
+ "internalType": "uint16",
82
+ "name": "referral",
83
+ "type": "uint16"
84
+ }
85
+ ],
86
+ "name": "Deposit",
87
+ "type": "event"
88
+ },
89
+ {
90
+ "anonymous": false,
91
+ "inputs": [
92
+ {
93
+ "indexed": true,
94
+ "internalType": "address",
95
+ "name": "target",
96
+ "type": "address"
97
+ },
98
+ {
99
+ "indexed": true,
100
+ "internalType": "address",
101
+ "name": "initiator",
102
+ "type": "address"
103
+ },
104
+ {
105
+ "indexed": true,
106
+ "internalType": "address",
107
+ "name": "asset",
108
+ "type": "address"
109
+ },
110
+ {
111
+ "indexed": false,
112
+ "internalType": "uint256",
113
+ "name": "amount",
114
+ "type": "uint256"
115
+ },
116
+ {
117
+ "indexed": false,
118
+ "internalType": "uint256",
119
+ "name": "premium",
120
+ "type": "uint256"
121
+ },
122
+ {
123
+ "indexed": false,
124
+ "internalType": "uint16",
125
+ "name": "referralCode",
126
+ "type": "uint16"
127
+ }
128
+ ],
129
+ "name": "FlashLoan",
130
+ "type": "event"
131
+ },
132
+ {
133
+ "anonymous": false,
134
+ "inputs": [
135
+ {
136
+ "indexed": true,
137
+ "internalType": "address",
138
+ "name": "collateralAsset",
139
+ "type": "address"
140
+ },
141
+ {
142
+ "indexed": true,
143
+ "internalType": "address",
144
+ "name": "debtAsset",
145
+ "type": "address"
146
+ },
147
+ {
148
+ "indexed": true,
149
+ "internalType": "address",
150
+ "name": "user",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "indexed": false,
155
+ "internalType": "uint256",
156
+ "name": "debtToCover",
157
+ "type": "uint256"
158
+ },
159
+ {
160
+ "indexed": false,
161
+ "internalType": "uint256",
162
+ "name": "liquidatedCollateralAmount",
163
+ "type": "uint256"
164
+ },
165
+ {
166
+ "indexed": false,
167
+ "internalType": "address",
168
+ "name": "liquidator",
169
+ "type": "address"
170
+ },
171
+ {
172
+ "indexed": false,
173
+ "internalType": "bool",
174
+ "name": "receiveAToken",
175
+ "type": "bool"
176
+ }
177
+ ],
178
+ "name": "LiquidationCall",
179
+ "type": "event"
180
+ },
181
+ { "anonymous": false, "inputs": [], "name": "Paused", "type": "event" },
182
+ {
183
+ "anonymous": false,
184
+ "inputs": [
185
+ {
186
+ "indexed": true,
187
+ "internalType": "address",
188
+ "name": "reserve",
189
+ "type": "address"
190
+ },
191
+ {
192
+ "indexed": true,
193
+ "internalType": "address",
194
+ "name": "user",
195
+ "type": "address"
196
+ }
197
+ ],
198
+ "name": "RebalanceStableBorrowRate",
199
+ "type": "event"
200
+ },
201
+ {
202
+ "anonymous": false,
203
+ "inputs": [
204
+ {
205
+ "indexed": true,
206
+ "internalType": "address",
207
+ "name": "reserve",
208
+ "type": "address"
209
+ },
210
+ {
211
+ "indexed": true,
212
+ "internalType": "address",
213
+ "name": "user",
214
+ "type": "address"
215
+ },
216
+ {
217
+ "indexed": true,
218
+ "internalType": "address",
219
+ "name": "repayer",
220
+ "type": "address"
221
+ },
222
+ {
223
+ "indexed": false,
224
+ "internalType": "uint256",
225
+ "name": "amount",
226
+ "type": "uint256"
227
+ }
228
+ ],
229
+ "name": "Repay",
230
+ "type": "event"
231
+ },
232
+ {
233
+ "anonymous": false,
234
+ "inputs": [
235
+ {
236
+ "indexed": true,
237
+ "internalType": "address",
238
+ "name": "reserve",
239
+ "type": "address"
240
+ },
241
+ {
242
+ "indexed": false,
243
+ "internalType": "uint256",
244
+ "name": "liquidityRate",
245
+ "type": "uint256"
246
+ },
247
+ {
248
+ "indexed": false,
249
+ "internalType": "uint256",
250
+ "name": "stableBorrowRate",
251
+ "type": "uint256"
252
+ },
253
+ {
254
+ "indexed": false,
255
+ "internalType": "uint256",
256
+ "name": "variableBorrowRate",
257
+ "type": "uint256"
258
+ },
259
+ {
260
+ "indexed": false,
261
+ "internalType": "uint256",
262
+ "name": "liquidityIndex",
263
+ "type": "uint256"
264
+ },
265
+ {
266
+ "indexed": false,
267
+ "internalType": "uint256",
268
+ "name": "variableBorrowIndex",
269
+ "type": "uint256"
270
+ }
271
+ ],
272
+ "name": "ReserveDataUpdated",
273
+ "type": "event"
274
+ },
275
+ {
276
+ "anonymous": false,
277
+ "inputs": [
278
+ {
279
+ "indexed": true,
280
+ "internalType": "address",
281
+ "name": "reserve",
282
+ "type": "address"
283
+ },
284
+ {
285
+ "indexed": true,
286
+ "internalType": "address",
287
+ "name": "user",
288
+ "type": "address"
289
+ }
290
+ ],
291
+ "name": "ReserveUsedAsCollateralDisabled",
292
+ "type": "event"
293
+ },
294
+ {
295
+ "anonymous": false,
296
+ "inputs": [
297
+ {
298
+ "indexed": true,
299
+ "internalType": "address",
300
+ "name": "reserve",
301
+ "type": "address"
302
+ },
303
+ {
304
+ "indexed": true,
305
+ "internalType": "address",
306
+ "name": "user",
307
+ "type": "address"
308
+ }
309
+ ],
310
+ "name": "ReserveUsedAsCollateralEnabled",
311
+ "type": "event"
312
+ },
313
+ {
314
+ "anonymous": false,
315
+ "inputs": [
316
+ {
317
+ "indexed": true,
318
+ "internalType": "address",
319
+ "name": "reserve",
320
+ "type": "address"
321
+ },
322
+ {
323
+ "indexed": true,
324
+ "internalType": "address",
325
+ "name": "user",
326
+ "type": "address"
327
+ },
328
+ {
329
+ "indexed": false,
330
+ "internalType": "uint256",
331
+ "name": "rateMode",
332
+ "type": "uint256"
333
+ }
334
+ ],
335
+ "name": "Swap",
336
+ "type": "event"
337
+ },
338
+ { "anonymous": false, "inputs": [], "name": "Unpaused", "type": "event" },
339
+ {
340
+ "anonymous": false,
341
+ "inputs": [
342
+ {
343
+ "indexed": true,
344
+ "internalType": "address",
345
+ "name": "reserve",
346
+ "type": "address"
347
+ },
348
+ {
349
+ "indexed": true,
350
+ "internalType": "address",
351
+ "name": "user",
352
+ "type": "address"
353
+ },
354
+ {
355
+ "indexed": true,
356
+ "internalType": "address",
357
+ "name": "to",
358
+ "type": "address"
359
+ },
360
+ {
361
+ "indexed": false,
362
+ "internalType": "uint256",
363
+ "name": "amount",
364
+ "type": "uint256"
365
+ }
366
+ ],
367
+ "name": "Withdraw",
368
+ "type": "event"
369
+ },
370
+ {
371
+ "inputs": [],
372
+ "name": "FLASHLOAN_PREMIUM_TOTAL",
373
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
374
+ "stateMutability": "view",
375
+ "type": "function"
376
+ },
377
+ {
378
+ "inputs": [],
379
+ "name": "LENDINGPOOL_REVISION",
380
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
381
+ "stateMutability": "view",
382
+ "type": "function"
383
+ },
384
+ {
385
+ "inputs": [],
386
+ "name": "MAX_NUMBER_RESERVES",
387
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
388
+ "stateMutability": "view",
389
+ "type": "function"
390
+ },
391
+ {
392
+ "inputs": [],
393
+ "name": "MAX_STABLE_RATE_BORROW_SIZE_PERCENT",
394
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
395
+ "stateMutability": "view",
396
+ "type": "function"
397
+ },
398
+ {
399
+ "inputs": [
400
+ { "internalType": "address", "name": "asset", "type": "address" },
401
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
402
+ {
403
+ "internalType": "uint256",
404
+ "name": "interestRateMode",
405
+ "type": "uint256"
406
+ },
407
+ { "internalType": "uint16", "name": "referralCode", "type": "uint16" },
408
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" }
409
+ ],
410
+ "name": "borrow",
411
+ "outputs": [],
412
+ "stateMutability": "nonpayable",
413
+ "type": "function"
414
+ },
415
+ {
416
+ "inputs": [
417
+ { "internalType": "address", "name": "asset", "type": "address" },
418
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
419
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" },
420
+ { "internalType": "uint16", "name": "referralCode", "type": "uint16" }
421
+ ],
422
+ "name": "deposit",
423
+ "outputs": [],
424
+ "stateMutability": "nonpayable",
425
+ "type": "function"
426
+ },
427
+ {
428
+ "inputs": [
429
+ { "internalType": "address", "name": "asset", "type": "address" },
430
+ { "internalType": "address", "name": "from", "type": "address" },
431
+ { "internalType": "address", "name": "to", "type": "address" },
432
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
433
+ {
434
+ "internalType": "uint256",
435
+ "name": "balanceFromBefore",
436
+ "type": "uint256"
437
+ },
438
+ {
439
+ "internalType": "uint256",
440
+ "name": "balanceToBefore",
441
+ "type": "uint256"
442
+ }
443
+ ],
444
+ "name": "finalizeTransfer",
445
+ "outputs": [],
446
+ "stateMutability": "nonpayable",
447
+ "type": "function"
448
+ },
449
+ {
450
+ "inputs": [
451
+ {
452
+ "internalType": "address",
453
+ "name": "receiverAddress",
454
+ "type": "address"
455
+ },
456
+ { "internalType": "address[]", "name": "assets", "type": "address[]" },
457
+ { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" },
458
+ { "internalType": "uint256[]", "name": "modes", "type": "uint256[]" },
459
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" },
460
+ { "internalType": "bytes", "name": "params", "type": "bytes" },
461
+ { "internalType": "uint16", "name": "referralCode", "type": "uint16" }
462
+ ],
463
+ "name": "flashLoan",
464
+ "outputs": [],
465
+ "stateMutability": "nonpayable",
466
+ "type": "function"
467
+ },
468
+ {
469
+ "inputs": [],
470
+ "name": "getAddressesProvider",
471
+ "outputs": [
472
+ {
473
+ "internalType": "contract ILendingPoolAddressesProvider",
474
+ "name": "",
475
+ "type": "address"
476
+ }
477
+ ],
478
+ "stateMutability": "view",
479
+ "type": "function"
480
+ },
481
+ {
482
+ "inputs": [
483
+ { "internalType": "address", "name": "asset", "type": "address" }
484
+ ],
485
+ "name": "getConfiguration",
486
+ "outputs": [
487
+ {
488
+ "components": [
489
+ { "internalType": "uint256", "name": "data", "type": "uint256" }
490
+ ],
491
+ "internalType": "struct DataTypes.ReserveConfigurationMap",
492
+ "name": "",
493
+ "type": "tuple"
494
+ }
495
+ ],
496
+ "stateMutability": "view",
497
+ "type": "function"
498
+ },
499
+ {
500
+ "inputs": [
501
+ { "internalType": "address", "name": "asset", "type": "address" }
502
+ ],
503
+ "name": "getReserveData",
504
+ "outputs": [
505
+ {
506
+ "components": [
507
+ {
508
+ "components": [
509
+ { "internalType": "uint256", "name": "data", "type": "uint256" }
510
+ ],
511
+ "internalType": "struct DataTypes.ReserveConfigurationMap",
512
+ "name": "configuration",
513
+ "type": "tuple"
514
+ },
515
+ {
516
+ "internalType": "uint128",
517
+ "name": "liquidityIndex",
518
+ "type": "uint128"
519
+ },
520
+ {
521
+ "internalType": "uint128",
522
+ "name": "variableBorrowIndex",
523
+ "type": "uint128"
524
+ },
525
+ {
526
+ "internalType": "uint128",
527
+ "name": "currentLiquidityRate",
528
+ "type": "uint128"
529
+ },
530
+ {
531
+ "internalType": "uint128",
532
+ "name": "currentVariableBorrowRate",
533
+ "type": "uint128"
534
+ },
535
+ {
536
+ "internalType": "uint128",
537
+ "name": "currentStableBorrowRate",
538
+ "type": "uint128"
539
+ },
540
+ {
541
+ "internalType": "uint40",
542
+ "name": "lastUpdateTimestamp",
543
+ "type": "uint40"
544
+ },
545
+ {
546
+ "internalType": "address",
547
+ "name": "aTokenAddress",
548
+ "type": "address"
549
+ },
550
+ {
551
+ "internalType": "address",
552
+ "name": "stableDebtTokenAddress",
553
+ "type": "address"
554
+ },
555
+ {
556
+ "internalType": "address",
557
+ "name": "variableDebtTokenAddress",
558
+ "type": "address"
559
+ },
560
+ {
561
+ "internalType": "address",
562
+ "name": "interestRateStrategyAddress",
563
+ "type": "address"
564
+ },
565
+ { "internalType": "uint8", "name": "id", "type": "uint8" }
566
+ ],
567
+ "internalType": "struct DataTypes.ReserveData",
568
+ "name": "",
569
+ "type": "tuple"
570
+ }
571
+ ],
572
+ "stateMutability": "view",
573
+ "type": "function"
574
+ },
575
+ {
576
+ "inputs": [
577
+ { "internalType": "address", "name": "asset", "type": "address" }
578
+ ],
579
+ "name": "getReserveNormalizedIncome",
580
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
581
+ "stateMutability": "view",
582
+ "type": "function"
583
+ },
584
+ {
585
+ "inputs": [
586
+ { "internalType": "address", "name": "asset", "type": "address" }
587
+ ],
588
+ "name": "getReserveNormalizedVariableDebt",
589
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
590
+ "stateMutability": "view",
591
+ "type": "function"
592
+ },
593
+ {
594
+ "inputs": [],
595
+ "name": "getReservesList",
596
+ "outputs": [
597
+ { "internalType": "address[]", "name": "", "type": "address[]" }
598
+ ],
599
+ "stateMutability": "view",
600
+ "type": "function"
601
+ },
602
+ {
603
+ "inputs": [
604
+ { "internalType": "address", "name": "user", "type": "address" }
605
+ ],
606
+ "name": "getUserAccountData",
607
+ "outputs": [
608
+ {
609
+ "internalType": "uint256",
610
+ "name": "totalCollateralETH",
611
+ "type": "uint256"
612
+ },
613
+ {
614
+ "internalType": "uint256",
615
+ "name": "totalDebtETH",
616
+ "type": "uint256"
617
+ },
618
+ {
619
+ "internalType": "uint256",
620
+ "name": "availableBorrowsETH",
621
+ "type": "uint256"
622
+ },
623
+ {
624
+ "internalType": "uint256",
625
+ "name": "currentLiquidationThreshold",
626
+ "type": "uint256"
627
+ },
628
+ { "internalType": "uint256", "name": "ltv", "type": "uint256" },
629
+ { "internalType": "uint256", "name": "healthFactor", "type": "uint256" }
630
+ ],
631
+ "stateMutability": "view",
632
+ "type": "function"
633
+ },
634
+ {
635
+ "inputs": [
636
+ { "internalType": "address", "name": "user", "type": "address" }
637
+ ],
638
+ "name": "getUserConfiguration",
639
+ "outputs": [
640
+ {
641
+ "components": [
642
+ { "internalType": "uint256", "name": "data", "type": "uint256" }
643
+ ],
644
+ "internalType": "struct DataTypes.UserConfigurationMap",
645
+ "name": "",
646
+ "type": "tuple"
647
+ }
648
+ ],
649
+ "stateMutability": "view",
650
+ "type": "function"
651
+ },
652
+ {
653
+ "inputs": [
654
+ { "internalType": "address", "name": "asset", "type": "address" },
655
+ {
656
+ "internalType": "address",
657
+ "name": "aTokenAddress",
658
+ "type": "address"
659
+ },
660
+ {
661
+ "internalType": "address",
662
+ "name": "stableDebtAddress",
663
+ "type": "address"
664
+ },
665
+ {
666
+ "internalType": "address",
667
+ "name": "variableDebtAddress",
668
+ "type": "address"
669
+ },
670
+ {
671
+ "internalType": "address",
672
+ "name": "interestRateStrategyAddress",
673
+ "type": "address"
674
+ }
675
+ ],
676
+ "name": "initReserve",
677
+ "outputs": [],
678
+ "stateMutability": "nonpayable",
679
+ "type": "function"
680
+ },
681
+ {
682
+ "inputs": [
683
+ {
684
+ "internalType": "contract ILendingPoolAddressesProvider",
685
+ "name": "provider",
686
+ "type": "address"
687
+ }
688
+ ],
689
+ "name": "initialize",
690
+ "outputs": [],
691
+ "stateMutability": "nonpayable",
692
+ "type": "function"
693
+ },
694
+ {
695
+ "inputs": [
696
+ {
697
+ "internalType": "address",
698
+ "name": "collateralAsset",
699
+ "type": "address"
700
+ },
701
+ { "internalType": "address", "name": "debtAsset", "type": "address" },
702
+ { "internalType": "address", "name": "user", "type": "address" },
703
+ { "internalType": "uint256", "name": "debtToCover", "type": "uint256" },
704
+ { "internalType": "bool", "name": "receiveAToken", "type": "bool" }
705
+ ],
706
+ "name": "liquidationCall",
707
+ "outputs": [],
708
+ "stateMutability": "nonpayable",
709
+ "type": "function"
710
+ },
711
+ {
712
+ "inputs": [],
713
+ "name": "paused",
714
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
715
+ "stateMutability": "view",
716
+ "type": "function"
717
+ },
718
+ {
719
+ "inputs": [
720
+ { "internalType": "address", "name": "asset", "type": "address" },
721
+ { "internalType": "address", "name": "user", "type": "address" }
722
+ ],
723
+ "name": "rebalanceStableBorrowRate",
724
+ "outputs": [],
725
+ "stateMutability": "nonpayable",
726
+ "type": "function"
727
+ },
728
+ {
729
+ "inputs": [
730
+ { "internalType": "address", "name": "asset", "type": "address" },
731
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
732
+ { "internalType": "uint256", "name": "rateMode", "type": "uint256" },
733
+ { "internalType": "address", "name": "onBehalfOf", "type": "address" }
734
+ ],
735
+ "name": "repay",
736
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
737
+ "stateMutability": "nonpayable",
738
+ "type": "function"
739
+ },
740
+ {
741
+ "inputs": [
742
+ { "internalType": "address", "name": "asset", "type": "address" },
743
+ {
744
+ "internalType": "uint256",
745
+ "name": "configuration",
746
+ "type": "uint256"
747
+ }
748
+ ],
749
+ "name": "setConfiguration",
750
+ "outputs": [],
751
+ "stateMutability": "nonpayable",
752
+ "type": "function"
753
+ },
754
+ {
755
+ "inputs": [{ "internalType": "bool", "name": "val", "type": "bool" }],
756
+ "name": "setPause",
757
+ "outputs": [],
758
+ "stateMutability": "nonpayable",
759
+ "type": "function"
760
+ },
761
+ {
762
+ "inputs": [
763
+ { "internalType": "address", "name": "asset", "type": "address" },
764
+ {
765
+ "internalType": "address",
766
+ "name": "rateStrategyAddress",
767
+ "type": "address"
768
+ }
769
+ ],
770
+ "name": "setReserveInterestRateStrategyAddress",
771
+ "outputs": [],
772
+ "stateMutability": "nonpayable",
773
+ "type": "function"
774
+ },
775
+ {
776
+ "inputs": [
777
+ { "internalType": "address", "name": "asset", "type": "address" },
778
+ { "internalType": "bool", "name": "useAsCollateral", "type": "bool" }
779
+ ],
780
+ "name": "setUserUseReserveAsCollateral",
781
+ "outputs": [],
782
+ "stateMutability": "nonpayable",
783
+ "type": "function"
784
+ },
785
+ {
786
+ "inputs": [
787
+ { "internalType": "address", "name": "asset", "type": "address" },
788
+ { "internalType": "uint256", "name": "rateMode", "type": "uint256" }
789
+ ],
790
+ "name": "swapBorrowRateMode",
791
+ "outputs": [],
792
+ "stateMutability": "nonpayable",
793
+ "type": "function"
794
+ },
795
+ {
796
+ "inputs": [
797
+ { "internalType": "address", "name": "asset", "type": "address" },
798
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
799
+ { "internalType": "address", "name": "to", "type": "address" }
800
+ ],
801
+ "name": "withdraw",
802
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
803
+ "stateMutability": "nonpayable",
804
+ "type": "function"
805
+ }
806
+ ]
807
+ }