@gitmyabi/gondi-multi-source-loan 1.0.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.
@@ -0,0 +1,4393 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * WithProtocolFee.ProtocolFee struct type
4
+ */
5
+ export type WithProtocolFee_ProtocolFee = {
6
+ recipient: `0x${string}`;
7
+ fraction: bigint;
8
+ };
9
+ /**
10
+ * IMultiSourceLoan.Loan struct type
11
+ */
12
+ export type IMultiSourceLoan_Loan = {
13
+ borrower: `0x${string}`;
14
+ nftCollateralTokenId: bigint;
15
+ nftCollateralAddress: `0x${string}`;
16
+ principalAddress: `0x${string}`;
17
+ principalAmount: bigint;
18
+ startTime: bigint;
19
+ duration: bigint;
20
+ tranche: IMultiSourceLoan_Tranche[];
21
+ protocolFee: bigint;
22
+ };
23
+ /**
24
+ * IMultiSourceLoan.Tranche struct type
25
+ */
26
+ export type IMultiSourceLoan_Tranche = {
27
+ loanId: bigint;
28
+ floor: bigint;
29
+ principalAmount: bigint;
30
+ lender: `0x${string}`;
31
+ accruedInterest: bigint;
32
+ startTime: bigint;
33
+ aprBps: bigint;
34
+ };
35
+ /**
36
+ * IMultiSourceLoan.RenegotiationOffer struct type
37
+ */
38
+ export type IMultiSourceLoan_RenegotiationOffer = {
39
+ renegotiationId: bigint;
40
+ loanId: bigint;
41
+ lender: `0x${string}`;
42
+ fee: bigint;
43
+ trancheIndex: bigint[];
44
+ principalAmount: bigint;
45
+ aprBps: bigint;
46
+ expirationTime: bigint;
47
+ duration: bigint;
48
+ };
49
+ /**
50
+ * IMultiSourceLoan.LoanExecutionData struct type
51
+ */
52
+ export type IMultiSourceLoan_LoanExecutionData = {
53
+ executionData: IMultiSourceLoan_ExecutionData;
54
+ borrower: `0x${string}`;
55
+ borrowerOfferSignature: `0x${string}`;
56
+ };
57
+ /**
58
+ * IMultiSourceLoan.ExecutionData struct type
59
+ */
60
+ export type IMultiSourceLoan_ExecutionData = {
61
+ offerExecution: IMultiSourceLoan_OfferExecution[];
62
+ loanId: bigint;
63
+ nftCollateralAddress: `0x${string}`;
64
+ tokenId: bigint;
65
+ duration: bigint;
66
+ expirationTime: bigint;
67
+ principalReceiver: `0x${string}`;
68
+ callbackData: `0x${string}`;
69
+ };
70
+ /**
71
+ * IMultiSourceLoan.OfferExecution struct type
72
+ */
73
+ export type IMultiSourceLoan_OfferExecution = {
74
+ offer: IMultiSourceLoan_LoanOffer;
75
+ amount: bigint;
76
+ lenderOfferSignature: `0x${string}`;
77
+ };
78
+ /**
79
+ * IMultiSourceLoan.LoanOffer struct type
80
+ */
81
+ export type IMultiSourceLoan_LoanOffer = {
82
+ offerId: bigint;
83
+ lender: `0x${string}`;
84
+ fee: bigint;
85
+ capacity: bigint;
86
+ nftCollateralAddress: `0x${string}`;
87
+ nftCollateralTokenId: bigint;
88
+ principalAddress: `0x${string}`;
89
+ principalAmount: bigint;
90
+ aprBps: bigint;
91
+ expirationTime: bigint;
92
+ duration: bigint;
93
+ maxSeniorRepayment: bigint;
94
+ validators: IBaseLoan_OfferValidator[];
95
+ };
96
+ /**
97
+ * IBaseLoan.OfferValidator struct type
98
+ */
99
+ export type IBaseLoan_OfferValidator = {
100
+ validator: `0x${string}`;
101
+ arguments: `0x${string}`;
102
+ };
103
+ /**
104
+ * IMultiSourceLoan.LoanRepaymentData struct type
105
+ */
106
+ export type IMultiSourceLoan_LoanRepaymentData = {
107
+ data: IMultiSourceLoan_SignableRepaymentData;
108
+ loan: IMultiSourceLoan_Loan;
109
+ borrowerSignature: `0x${string}`;
110
+ };
111
+ /**
112
+ * IMultiSourceLoan.SignableRepaymentData struct type
113
+ */
114
+ export type IMultiSourceLoan_SignableRepaymentData = {
115
+ loanId: bigint;
116
+ callbackData: `0x${string}`;
117
+ shouldDelegate: boolean;
118
+ };
119
+ /**
120
+ * MultiSourceLoan_json ABI
121
+ *
122
+ * This ABI is typed using viem's type system for full type safety.
123
+ */
124
+ export declare const MultiSourceLoan_jsonAbi: readonly [{
125
+ readonly inputs: readonly [{
126
+ readonly internalType: "address";
127
+ readonly name: "loanLiquidator";
128
+ readonly type: "address";
129
+ }, {
130
+ readonly components: readonly [{
131
+ readonly internalType: "address";
132
+ readonly name: "recipient";
133
+ readonly type: "address";
134
+ }, {
135
+ readonly internalType: "uint256";
136
+ readonly name: "fraction";
137
+ readonly type: "uint256";
138
+ }];
139
+ readonly internalType: "struct WithProtocolFee.ProtocolFee";
140
+ readonly name: "protocolFee";
141
+ readonly type: "tuple";
142
+ }, {
143
+ readonly internalType: "address";
144
+ readonly name: "currencyManager";
145
+ readonly type: "address";
146
+ }, {
147
+ readonly internalType: "address";
148
+ readonly name: "collectionManager";
149
+ readonly type: "address";
150
+ }, {
151
+ readonly internalType: "uint256";
152
+ readonly name: "maxTranches";
153
+ readonly type: "uint256";
154
+ }, {
155
+ readonly internalType: "uint256";
156
+ readonly name: "minLockPeriod";
157
+ readonly type: "uint256";
158
+ }, {
159
+ readonly internalType: "address";
160
+ readonly name: "delegateRegistry";
161
+ readonly type: "address";
162
+ }, {
163
+ readonly internalType: "address";
164
+ readonly name: "loanManagerRegistry";
165
+ readonly type: "address";
166
+ }, {
167
+ readonly internalType: "address";
168
+ readonly name: "flashActionContract";
169
+ readonly type: "address";
170
+ }, {
171
+ readonly internalType: "uint256";
172
+ readonly name: "minWaitTime";
173
+ readonly type: "uint256";
174
+ }];
175
+ readonly stateMutability: "nonpayable";
176
+ readonly type: "constructor";
177
+ }, {
178
+ readonly inputs: readonly [];
179
+ readonly name: "AddressZeroError";
180
+ readonly type: "error";
181
+ }, {
182
+ readonly inputs: readonly [{
183
+ readonly internalType: "address";
184
+ readonly name: "_lender";
185
+ readonly type: "address";
186
+ }, {
187
+ readonly internalType: "uint256";
188
+ readonly name: "_offerId";
189
+ readonly type: "uint256";
190
+ }];
191
+ readonly name: "CancelledOrExecutedOfferError";
192
+ readonly type: "error";
193
+ }, {
194
+ readonly inputs: readonly [];
195
+ readonly name: "CollectionNotWhitelistedError";
196
+ readonly type: "error";
197
+ }, {
198
+ readonly inputs: readonly [];
199
+ readonly name: "CurrencyNotWhitelistedError";
200
+ readonly type: "error";
201
+ }, {
202
+ readonly inputs: readonly [];
203
+ readonly name: "ECDSAInvalidSignature";
204
+ readonly type: "error";
205
+ }, {
206
+ readonly inputs: readonly [{
207
+ readonly internalType: "uint256";
208
+ readonly name: "length";
209
+ readonly type: "uint256";
210
+ }];
211
+ readonly name: "ECDSAInvalidSignatureLength";
212
+ readonly type: "error";
213
+ }, {
214
+ readonly inputs: readonly [{
215
+ readonly internalType: "bytes32";
216
+ readonly name: "s";
217
+ readonly type: "bytes32";
218
+ }];
219
+ readonly name: "ECDSAInvalidSignatureS";
220
+ readonly type: "error";
221
+ }, {
222
+ readonly inputs: readonly [{
223
+ readonly internalType: "uint256";
224
+ readonly name: "_expirationTime";
225
+ readonly type: "uint256";
226
+ }];
227
+ readonly name: "ExpiredOfferError";
228
+ readonly type: "error";
229
+ }, {
230
+ readonly inputs: readonly [];
231
+ readonly name: "InvalidAddressesError";
232
+ readonly type: "error";
233
+ }, {
234
+ readonly inputs: readonly [{
235
+ readonly internalType: "uint256";
236
+ readonly name: "_amount";
237
+ readonly type: "uint256";
238
+ }, {
239
+ readonly internalType: "uint256";
240
+ readonly name: "_principalAmount";
241
+ readonly type: "uint256";
242
+ }];
243
+ readonly name: "InvalidAmountError";
244
+ readonly type: "error";
245
+ }, {
246
+ readonly inputs: readonly [];
247
+ readonly name: "InvalidCallbackError";
248
+ readonly type: "error";
249
+ }, {
250
+ readonly inputs: readonly [];
251
+ readonly name: "InvalidCallerError";
252
+ readonly type: "error";
253
+ }, {
254
+ readonly inputs: readonly [];
255
+ readonly name: "InvalidCollateralError";
256
+ readonly type: "error";
257
+ }, {
258
+ readonly inputs: readonly [];
259
+ readonly name: "InvalidCollateralIdError";
260
+ readonly type: "error";
261
+ }, {
262
+ readonly inputs: readonly [];
263
+ readonly name: "InvalidDurationError";
264
+ readonly type: "error";
265
+ }, {
266
+ readonly inputs: readonly [];
267
+ readonly name: "InvalidInputError";
268
+ readonly type: "error";
269
+ }, {
270
+ readonly inputs: readonly [{
271
+ readonly internalType: "uint256";
272
+ readonly name: "_loanId";
273
+ readonly type: "uint256";
274
+ }];
275
+ readonly name: "InvalidLoanError";
276
+ readonly type: "error";
277
+ }, {
278
+ readonly inputs: readonly [];
279
+ readonly name: "InvalidMethodError";
280
+ readonly type: "error";
281
+ }, {
282
+ readonly inputs: readonly [];
283
+ readonly name: "InvalidParametersError";
284
+ readonly type: "error";
285
+ }, {
286
+ readonly inputs: readonly [];
287
+ readonly name: "InvalidRenegotiationOfferError";
288
+ readonly type: "error";
289
+ }, {
290
+ readonly inputs: readonly [];
291
+ readonly name: "InvalidSignatureError";
292
+ readonly type: "error";
293
+ }, {
294
+ readonly inputs: readonly [];
295
+ readonly name: "InvalidTrancheError";
296
+ readonly type: "error";
297
+ }, {
298
+ readonly inputs: readonly [{
299
+ readonly internalType: "address";
300
+ readonly name: "_liquidator";
301
+ readonly type: "address";
302
+ }];
303
+ readonly name: "LiquidatorOnlyError";
304
+ readonly type: "error";
305
+ }, {
306
+ readonly inputs: readonly [];
307
+ readonly name: "LoanExpiredError";
308
+ readonly type: "error";
309
+ }, {
310
+ readonly inputs: readonly [];
311
+ readonly name: "LoanLockedError";
312
+ readonly type: "error";
313
+ }, {
314
+ readonly inputs: readonly [{
315
+ readonly internalType: "uint256";
316
+ readonly name: "_expirationTime";
317
+ readonly type: "uint256";
318
+ }];
319
+ readonly name: "LoanNotDueError";
320
+ readonly type: "error";
321
+ }, {
322
+ readonly inputs: readonly [];
323
+ readonly name: "MaxCapacityExceededError";
324
+ readonly type: "error";
325
+ }, {
326
+ readonly inputs: readonly [];
327
+ readonly name: "MismatchError";
328
+ readonly type: "error";
329
+ }, {
330
+ readonly inputs: readonly [{
331
+ readonly internalType: "uint256";
332
+ readonly name: "i";
333
+ readonly type: "uint256";
334
+ }, {
335
+ readonly internalType: "bytes";
336
+ readonly name: "returndata";
337
+ readonly type: "bytes";
338
+ }];
339
+ readonly name: "MulticallFailed";
340
+ readonly type: "error";
341
+ }, {
342
+ readonly inputs: readonly [];
343
+ readonly name: "NFTNotReturnedError";
344
+ readonly type: "error";
345
+ }, {
346
+ readonly inputs: readonly [];
347
+ readonly name: "NotStrictlyImprovedError";
348
+ readonly type: "error";
349
+ }, {
350
+ readonly inputs: readonly [{
351
+ readonly internalType: "uint256";
352
+ readonly name: "_pendingProtocolFeeSetTime";
353
+ readonly type: "uint256";
354
+ }];
355
+ readonly name: "TooEarlyError";
356
+ readonly type: "error";
357
+ }, {
358
+ readonly inputs: readonly [];
359
+ readonly name: "TooManyTranchesError";
360
+ readonly type: "error";
361
+ }, {
362
+ readonly inputs: readonly [];
363
+ readonly name: "TooSoonError";
364
+ readonly type: "error";
365
+ }, {
366
+ readonly inputs: readonly [{
367
+ readonly internalType: "uint256";
368
+ readonly name: "minTimestamp";
369
+ readonly type: "uint256";
370
+ }];
371
+ readonly name: "TrancheCannotBeRefinancedError";
372
+ readonly type: "error";
373
+ }, {
374
+ readonly inputs: readonly [];
375
+ readonly name: "ZeroInterestError";
376
+ readonly type: "error";
377
+ }, {
378
+ readonly anonymous: false;
379
+ readonly inputs: readonly [{
380
+ readonly indexed: false;
381
+ readonly internalType: "uint256";
382
+ readonly name: "loanId";
383
+ readonly type: "uint256";
384
+ }, {
385
+ readonly indexed: false;
386
+ readonly internalType: "address";
387
+ readonly name: "delegate";
388
+ readonly type: "address";
389
+ }, {
390
+ readonly indexed: false;
391
+ readonly internalType: "bytes32";
392
+ readonly name: "_rights";
393
+ readonly type: "bytes32";
394
+ }, {
395
+ readonly indexed: false;
396
+ readonly internalType: "bool";
397
+ readonly name: "value";
398
+ readonly type: "bool";
399
+ }];
400
+ readonly name: "Delegated";
401
+ readonly type: "event";
402
+ }, {
403
+ readonly anonymous: false;
404
+ readonly inputs: readonly [{
405
+ readonly indexed: false;
406
+ readonly internalType: "address";
407
+ readonly name: "newFlashActionContract";
408
+ readonly type: "address";
409
+ }];
410
+ readonly name: "FlashActionContractUpdated";
411
+ readonly type: "event";
412
+ }, {
413
+ readonly anonymous: false;
414
+ readonly inputs: readonly [{
415
+ readonly indexed: false;
416
+ readonly internalType: "uint256";
417
+ readonly name: "loanId";
418
+ readonly type: "uint256";
419
+ }, {
420
+ readonly indexed: false;
421
+ readonly internalType: "address";
422
+ readonly name: "target";
423
+ readonly type: "address";
424
+ }, {
425
+ readonly indexed: false;
426
+ readonly internalType: "bytes";
427
+ readonly name: "data";
428
+ readonly type: "bytes";
429
+ }];
430
+ readonly name: "FlashActionExecuted";
431
+ readonly type: "event";
432
+ }, {
433
+ readonly anonymous: false;
434
+ readonly inputs: readonly [{
435
+ readonly indexed: false;
436
+ readonly internalType: "uint256";
437
+ readonly name: "newDuration";
438
+ readonly type: "uint256";
439
+ }];
440
+ readonly name: "LiquidationAuctionDurationUpdated";
441
+ readonly type: "event";
442
+ }, {
443
+ readonly anonymous: false;
444
+ readonly inputs: readonly [{
445
+ readonly indexed: false;
446
+ readonly internalType: "address";
447
+ readonly name: "liquidator";
448
+ readonly type: "address";
449
+ }];
450
+ readonly name: "LiquidationContractUpdated";
451
+ readonly type: "event";
452
+ }, {
453
+ readonly anonymous: false;
454
+ readonly inputs: readonly [{
455
+ readonly indexed: false;
456
+ readonly internalType: "uint256";
457
+ readonly name: "loanId";
458
+ readonly type: "uint256";
459
+ }, {
460
+ readonly indexed: false;
461
+ readonly internalType: "uint256[]";
462
+ readonly name: "offerId";
463
+ readonly type: "uint256[]";
464
+ }, {
465
+ readonly components: readonly [{
466
+ readonly internalType: "address";
467
+ readonly name: "borrower";
468
+ readonly type: "address";
469
+ }, {
470
+ readonly internalType: "uint256";
471
+ readonly name: "nftCollateralTokenId";
472
+ readonly type: "uint256";
473
+ }, {
474
+ readonly internalType: "address";
475
+ readonly name: "nftCollateralAddress";
476
+ readonly type: "address";
477
+ }, {
478
+ readonly internalType: "address";
479
+ readonly name: "principalAddress";
480
+ readonly type: "address";
481
+ }, {
482
+ readonly internalType: "uint256";
483
+ readonly name: "principalAmount";
484
+ readonly type: "uint256";
485
+ }, {
486
+ readonly internalType: "uint256";
487
+ readonly name: "startTime";
488
+ readonly type: "uint256";
489
+ }, {
490
+ readonly internalType: "uint256";
491
+ readonly name: "duration";
492
+ readonly type: "uint256";
493
+ }, {
494
+ readonly components: readonly [{
495
+ readonly internalType: "uint256";
496
+ readonly name: "loanId";
497
+ readonly type: "uint256";
498
+ }, {
499
+ readonly internalType: "uint256";
500
+ readonly name: "floor";
501
+ readonly type: "uint256";
502
+ }, {
503
+ readonly internalType: "uint256";
504
+ readonly name: "principalAmount";
505
+ readonly type: "uint256";
506
+ }, {
507
+ readonly internalType: "address";
508
+ readonly name: "lender";
509
+ readonly type: "address";
510
+ }, {
511
+ readonly internalType: "uint256";
512
+ readonly name: "accruedInterest";
513
+ readonly type: "uint256";
514
+ }, {
515
+ readonly internalType: "uint256";
516
+ readonly name: "startTime";
517
+ readonly type: "uint256";
518
+ }, {
519
+ readonly internalType: "uint256";
520
+ readonly name: "aprBps";
521
+ readonly type: "uint256";
522
+ }];
523
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
524
+ readonly name: "tranche";
525
+ readonly type: "tuple[]";
526
+ }, {
527
+ readonly internalType: "uint256";
528
+ readonly name: "protocolFee";
529
+ readonly type: "uint256";
530
+ }];
531
+ readonly indexed: false;
532
+ readonly internalType: "struct IMultiSourceLoan.Loan";
533
+ readonly name: "loan";
534
+ readonly type: "tuple";
535
+ }, {
536
+ readonly indexed: false;
537
+ readonly internalType: "uint256";
538
+ readonly name: "fee";
539
+ readonly type: "uint256";
540
+ }];
541
+ readonly name: "LoanEmitted";
542
+ readonly type: "event";
543
+ }, {
544
+ readonly anonymous: false;
545
+ readonly inputs: readonly [{
546
+ readonly indexed: false;
547
+ readonly internalType: "uint256";
548
+ readonly name: "loanId";
549
+ readonly type: "uint256";
550
+ }];
551
+ readonly name: "LoanForeclosed";
552
+ readonly type: "event";
553
+ }, {
554
+ readonly anonymous: false;
555
+ readonly inputs: readonly [{
556
+ readonly indexed: false;
557
+ readonly internalType: "uint256";
558
+ readonly name: "loanId";
559
+ readonly type: "uint256";
560
+ }];
561
+ readonly name: "LoanLiquidated";
562
+ readonly type: "event";
563
+ }, {
564
+ readonly anonymous: false;
565
+ readonly inputs: readonly [{
566
+ readonly indexed: false;
567
+ readonly internalType: "uint256";
568
+ readonly name: "renegotiationId";
569
+ readonly type: "uint256";
570
+ }, {
571
+ readonly indexed: false;
572
+ readonly internalType: "uint256";
573
+ readonly name: "oldLoanId";
574
+ readonly type: "uint256";
575
+ }, {
576
+ readonly indexed: false;
577
+ readonly internalType: "uint256";
578
+ readonly name: "newLoanId";
579
+ readonly type: "uint256";
580
+ }, {
581
+ readonly components: readonly [{
582
+ readonly internalType: "address";
583
+ readonly name: "borrower";
584
+ readonly type: "address";
585
+ }, {
586
+ readonly internalType: "uint256";
587
+ readonly name: "nftCollateralTokenId";
588
+ readonly type: "uint256";
589
+ }, {
590
+ readonly internalType: "address";
591
+ readonly name: "nftCollateralAddress";
592
+ readonly type: "address";
593
+ }, {
594
+ readonly internalType: "address";
595
+ readonly name: "principalAddress";
596
+ readonly type: "address";
597
+ }, {
598
+ readonly internalType: "uint256";
599
+ readonly name: "principalAmount";
600
+ readonly type: "uint256";
601
+ }, {
602
+ readonly internalType: "uint256";
603
+ readonly name: "startTime";
604
+ readonly type: "uint256";
605
+ }, {
606
+ readonly internalType: "uint256";
607
+ readonly name: "duration";
608
+ readonly type: "uint256";
609
+ }, {
610
+ readonly components: readonly [{
611
+ readonly internalType: "uint256";
612
+ readonly name: "loanId";
613
+ readonly type: "uint256";
614
+ }, {
615
+ readonly internalType: "uint256";
616
+ readonly name: "floor";
617
+ readonly type: "uint256";
618
+ }, {
619
+ readonly internalType: "uint256";
620
+ readonly name: "principalAmount";
621
+ readonly type: "uint256";
622
+ }, {
623
+ readonly internalType: "address";
624
+ readonly name: "lender";
625
+ readonly type: "address";
626
+ }, {
627
+ readonly internalType: "uint256";
628
+ readonly name: "accruedInterest";
629
+ readonly type: "uint256";
630
+ }, {
631
+ readonly internalType: "uint256";
632
+ readonly name: "startTime";
633
+ readonly type: "uint256";
634
+ }, {
635
+ readonly internalType: "uint256";
636
+ readonly name: "aprBps";
637
+ readonly type: "uint256";
638
+ }];
639
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
640
+ readonly name: "tranche";
641
+ readonly type: "tuple[]";
642
+ }, {
643
+ readonly internalType: "uint256";
644
+ readonly name: "protocolFee";
645
+ readonly type: "uint256";
646
+ }];
647
+ readonly indexed: false;
648
+ readonly internalType: "struct IMultiSourceLoan.Loan";
649
+ readonly name: "loan";
650
+ readonly type: "tuple";
651
+ }, {
652
+ readonly indexed: false;
653
+ readonly internalType: "uint256";
654
+ readonly name: "fee";
655
+ readonly type: "uint256";
656
+ }];
657
+ readonly name: "LoanRefinanced";
658
+ readonly type: "event";
659
+ }, {
660
+ readonly anonymous: false;
661
+ readonly inputs: readonly [{
662
+ readonly indexed: false;
663
+ readonly internalType: "uint256";
664
+ readonly name: "loanId";
665
+ readonly type: "uint256";
666
+ }, {
667
+ readonly indexed: false;
668
+ readonly internalType: "uint256";
669
+ readonly name: "newLoanId";
670
+ readonly type: "uint256";
671
+ }, {
672
+ readonly components: readonly [{
673
+ readonly internalType: "address";
674
+ readonly name: "borrower";
675
+ readonly type: "address";
676
+ }, {
677
+ readonly internalType: "uint256";
678
+ readonly name: "nftCollateralTokenId";
679
+ readonly type: "uint256";
680
+ }, {
681
+ readonly internalType: "address";
682
+ readonly name: "nftCollateralAddress";
683
+ readonly type: "address";
684
+ }, {
685
+ readonly internalType: "address";
686
+ readonly name: "principalAddress";
687
+ readonly type: "address";
688
+ }, {
689
+ readonly internalType: "uint256";
690
+ readonly name: "principalAmount";
691
+ readonly type: "uint256";
692
+ }, {
693
+ readonly internalType: "uint256";
694
+ readonly name: "startTime";
695
+ readonly type: "uint256";
696
+ }, {
697
+ readonly internalType: "uint256";
698
+ readonly name: "duration";
699
+ readonly type: "uint256";
700
+ }, {
701
+ readonly components: readonly [{
702
+ readonly internalType: "uint256";
703
+ readonly name: "loanId";
704
+ readonly type: "uint256";
705
+ }, {
706
+ readonly internalType: "uint256";
707
+ readonly name: "floor";
708
+ readonly type: "uint256";
709
+ }, {
710
+ readonly internalType: "uint256";
711
+ readonly name: "principalAmount";
712
+ readonly type: "uint256";
713
+ }, {
714
+ readonly internalType: "address";
715
+ readonly name: "lender";
716
+ readonly type: "address";
717
+ }, {
718
+ readonly internalType: "uint256";
719
+ readonly name: "accruedInterest";
720
+ readonly type: "uint256";
721
+ }, {
722
+ readonly internalType: "uint256";
723
+ readonly name: "startTime";
724
+ readonly type: "uint256";
725
+ }, {
726
+ readonly internalType: "uint256";
727
+ readonly name: "aprBps";
728
+ readonly type: "uint256";
729
+ }];
730
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
731
+ readonly name: "tranche";
732
+ readonly type: "tuple[]";
733
+ }, {
734
+ readonly internalType: "uint256";
735
+ readonly name: "protocolFee";
736
+ readonly type: "uint256";
737
+ }];
738
+ readonly indexed: false;
739
+ readonly internalType: "struct IMultiSourceLoan.Loan";
740
+ readonly name: "loan";
741
+ readonly type: "tuple";
742
+ }, {
743
+ readonly indexed: false;
744
+ readonly internalType: "uint256[]";
745
+ readonly name: "offerIds";
746
+ readonly type: "uint256[]";
747
+ }, {
748
+ readonly indexed: false;
749
+ readonly internalType: "uint256";
750
+ readonly name: "totalFee";
751
+ readonly type: "uint256";
752
+ }];
753
+ readonly name: "LoanRefinancedFromNewOffers";
754
+ readonly type: "event";
755
+ }, {
756
+ readonly anonymous: false;
757
+ readonly inputs: readonly [{
758
+ readonly indexed: false;
759
+ readonly internalType: "uint256";
760
+ readonly name: "loanId";
761
+ readonly type: "uint256";
762
+ }, {
763
+ readonly indexed: false;
764
+ readonly internalType: "uint256";
765
+ readonly name: "totalRepayment";
766
+ readonly type: "uint256";
767
+ }, {
768
+ readonly indexed: false;
769
+ readonly internalType: "uint256";
770
+ readonly name: "fee";
771
+ readonly type: "uint256";
772
+ }];
773
+ readonly name: "LoanRepaid";
774
+ readonly type: "event";
775
+ }, {
776
+ readonly anonymous: false;
777
+ readonly inputs: readonly [{
778
+ readonly indexed: false;
779
+ readonly internalType: "uint256";
780
+ readonly name: "loanId";
781
+ readonly type: "uint256";
782
+ }, {
783
+ readonly indexed: false;
784
+ readonly internalType: "address";
785
+ readonly name: "liquidator";
786
+ readonly type: "address";
787
+ }];
788
+ readonly name: "LoanSentToLiquidator";
789
+ readonly type: "event";
790
+ }, {
791
+ readonly anonymous: false;
792
+ readonly inputs: readonly [{
793
+ readonly indexed: false;
794
+ readonly internalType: "uint256";
795
+ readonly name: "_minimum";
796
+ readonly type: "uint256";
797
+ }];
798
+ readonly name: "MinAprImprovementUpdated";
799
+ readonly type: "event";
800
+ }, {
801
+ readonly anonymous: false;
802
+ readonly inputs: readonly [{
803
+ readonly indexed: false;
804
+ readonly internalType: "uint256";
805
+ readonly name: "newMinBid";
806
+ readonly type: "uint256";
807
+ }];
808
+ readonly name: "MinBidLiquidationUpdated";
809
+ readonly type: "event";
810
+ }, {
811
+ readonly anonymous: false;
812
+ readonly inputs: readonly [{
813
+ readonly indexed: false;
814
+ readonly internalType: "uint256";
815
+ readonly name: "minLockPeriod";
816
+ readonly type: "uint256";
817
+ }];
818
+ readonly name: "MinLockPeriodUpdated";
819
+ readonly type: "event";
820
+ }, {
821
+ readonly anonymous: false;
822
+ readonly inputs: readonly [{
823
+ readonly indexed: false;
824
+ readonly internalType: "address";
825
+ readonly name: "lender";
826
+ readonly type: "address";
827
+ }, {
828
+ readonly indexed: false;
829
+ readonly internalType: "uint256";
830
+ readonly name: "offerId";
831
+ readonly type: "uint256";
832
+ }];
833
+ readonly name: "OfferCancelled";
834
+ readonly type: "event";
835
+ }, {
836
+ readonly anonymous: false;
837
+ readonly inputs: readonly [{
838
+ readonly indexed: true;
839
+ readonly internalType: "address";
840
+ readonly name: "user";
841
+ readonly type: "address";
842
+ }, {
843
+ readonly indexed: true;
844
+ readonly internalType: "address";
845
+ readonly name: "newOwner";
846
+ readonly type: "address";
847
+ }];
848
+ readonly name: "OwnershipTransferred";
849
+ readonly type: "event";
850
+ }, {
851
+ readonly anonymous: false;
852
+ readonly inputs: readonly [{
853
+ readonly components: readonly [{
854
+ readonly internalType: "address";
855
+ readonly name: "recipient";
856
+ readonly type: "address";
857
+ }, {
858
+ readonly internalType: "uint256";
859
+ readonly name: "fraction";
860
+ readonly type: "uint256";
861
+ }];
862
+ readonly indexed: false;
863
+ readonly internalType: "struct WithProtocolFee.ProtocolFee";
864
+ readonly name: "fee";
865
+ readonly type: "tuple";
866
+ }];
867
+ readonly name: "ProtocolFeePendingUpdate";
868
+ readonly type: "event";
869
+ }, {
870
+ readonly anonymous: false;
871
+ readonly inputs: readonly [{
872
+ readonly components: readonly [{
873
+ readonly internalType: "address";
874
+ readonly name: "recipient";
875
+ readonly type: "address";
876
+ }, {
877
+ readonly internalType: "uint256";
878
+ readonly name: "fraction";
879
+ readonly type: "uint256";
880
+ }];
881
+ readonly indexed: false;
882
+ readonly internalType: "struct WithProtocolFee.ProtocolFee";
883
+ readonly name: "fee";
884
+ readonly type: "tuple";
885
+ }];
886
+ readonly name: "ProtocolFeeUpdated";
887
+ readonly type: "event";
888
+ }, {
889
+ readonly anonymous: false;
890
+ readonly inputs: readonly [{
891
+ readonly indexed: false;
892
+ readonly internalType: "address";
893
+ readonly name: "lender";
894
+ readonly type: "address";
895
+ }, {
896
+ readonly indexed: false;
897
+ readonly internalType: "uint256";
898
+ readonly name: "renegotiationId";
899
+ readonly type: "uint256";
900
+ }];
901
+ readonly name: "RenegotiationOfferCancelled";
902
+ readonly type: "event";
903
+ }, {
904
+ readonly anonymous: false;
905
+ readonly inputs: readonly [{
906
+ readonly indexed: false;
907
+ readonly internalType: "address";
908
+ readonly name: "delegate";
909
+ readonly type: "address";
910
+ }, {
911
+ readonly indexed: false;
912
+ readonly internalType: "address";
913
+ readonly name: "collection";
914
+ readonly type: "address";
915
+ }, {
916
+ readonly indexed: false;
917
+ readonly internalType: "uint256";
918
+ readonly name: "tokenId";
919
+ readonly type: "uint256";
920
+ }, {
921
+ readonly indexed: false;
922
+ readonly internalType: "bytes32";
923
+ readonly name: "_rights";
924
+ readonly type: "bytes32";
925
+ }];
926
+ readonly name: "RevokeDelegate";
927
+ readonly type: "event";
928
+ }, {
929
+ readonly anonymous: false;
930
+ readonly inputs: readonly [{
931
+ readonly indexed: false;
932
+ readonly internalType: "address";
933
+ readonly name: "newOwner";
934
+ readonly type: "address";
935
+ }];
936
+ readonly name: "TransferOwnerRequested";
937
+ readonly type: "event";
938
+ }, {
939
+ readonly anonymous: false;
940
+ readonly inputs: readonly [{
941
+ readonly indexed: false;
942
+ readonly internalType: "address";
943
+ readonly name: "contractAdded";
944
+ readonly type: "address";
945
+ }];
946
+ readonly name: "WhitelistedCallbackContractAdded";
947
+ readonly type: "event";
948
+ }, {
949
+ readonly anonymous: false;
950
+ readonly inputs: readonly [{
951
+ readonly indexed: false;
952
+ readonly internalType: "address";
953
+ readonly name: "contractRemoved";
954
+ readonly type: "address";
955
+ }];
956
+ readonly name: "WhitelistedCallbackContractRemoved";
957
+ readonly type: "event";
958
+ }, {
959
+ readonly inputs: readonly [];
960
+ readonly name: "DOMAIN_SEPARATOR";
961
+ readonly outputs: readonly [{
962
+ readonly internalType: "bytes32";
963
+ readonly name: "";
964
+ readonly type: "bytes32";
965
+ }];
966
+ readonly stateMutability: "view";
967
+ readonly type: "function";
968
+ }, {
969
+ readonly inputs: readonly [];
970
+ readonly name: "FEE_UPDATE_NOTICE";
971
+ readonly outputs: readonly [{
972
+ readonly internalType: "uint256";
973
+ readonly name: "";
974
+ readonly type: "uint256";
975
+ }];
976
+ readonly stateMutability: "view";
977
+ readonly type: "function";
978
+ }, {
979
+ readonly inputs: readonly [];
980
+ readonly name: "INITIAL_DOMAIN_SEPARATOR";
981
+ readonly outputs: readonly [{
982
+ readonly internalType: "bytes32";
983
+ readonly name: "";
984
+ readonly type: "bytes32";
985
+ }];
986
+ readonly stateMutability: "view";
987
+ readonly type: "function";
988
+ }, {
989
+ readonly inputs: readonly [];
990
+ readonly name: "MAX_AUCTION_DURATION";
991
+ readonly outputs: readonly [{
992
+ readonly internalType: "uint48";
993
+ readonly name: "";
994
+ readonly type: "uint48";
995
+ }];
996
+ readonly stateMutability: "view";
997
+ readonly type: "function";
998
+ }, {
999
+ readonly inputs: readonly [];
1000
+ readonly name: "MIN_AUCTION_DURATION";
1001
+ readonly outputs: readonly [{
1002
+ readonly internalType: "uint48";
1003
+ readonly name: "";
1004
+ readonly type: "uint48";
1005
+ }];
1006
+ readonly stateMutability: "view";
1007
+ readonly type: "function";
1008
+ }, {
1009
+ readonly inputs: readonly [];
1010
+ readonly name: "MIN_BID_LIQUIDATION";
1011
+ readonly outputs: readonly [{
1012
+ readonly internalType: "uint256";
1013
+ readonly name: "";
1014
+ readonly type: "uint256";
1015
+ }];
1016
+ readonly stateMutability: "view";
1017
+ readonly type: "function";
1018
+ }, {
1019
+ readonly inputs: readonly [];
1020
+ readonly name: "MIN_WAIT_TIME";
1021
+ readonly outputs: readonly [{
1022
+ readonly internalType: "uint256";
1023
+ readonly name: "";
1024
+ readonly type: "uint256";
1025
+ }];
1026
+ readonly stateMutability: "view";
1027
+ readonly type: "function";
1028
+ }, {
1029
+ readonly inputs: readonly [];
1030
+ readonly name: "VERSION";
1031
+ readonly outputs: readonly [{
1032
+ readonly internalType: "bytes";
1033
+ readonly name: "";
1034
+ readonly type: "bytes";
1035
+ }];
1036
+ readonly stateMutability: "view";
1037
+ readonly type: "function";
1038
+ }, {
1039
+ readonly inputs: readonly [{
1040
+ readonly components: readonly [{
1041
+ readonly internalType: "uint256";
1042
+ readonly name: "renegotiationId";
1043
+ readonly type: "uint256";
1044
+ }, {
1045
+ readonly internalType: "uint256";
1046
+ readonly name: "loanId";
1047
+ readonly type: "uint256";
1048
+ }, {
1049
+ readonly internalType: "address";
1050
+ readonly name: "lender";
1051
+ readonly type: "address";
1052
+ }, {
1053
+ readonly internalType: "uint256";
1054
+ readonly name: "fee";
1055
+ readonly type: "uint256";
1056
+ }, {
1057
+ readonly internalType: "uint256[]";
1058
+ readonly name: "trancheIndex";
1059
+ readonly type: "uint256[]";
1060
+ }, {
1061
+ readonly internalType: "uint256";
1062
+ readonly name: "principalAmount";
1063
+ readonly type: "uint256";
1064
+ }, {
1065
+ readonly internalType: "uint256";
1066
+ readonly name: "aprBps";
1067
+ readonly type: "uint256";
1068
+ }, {
1069
+ readonly internalType: "uint256";
1070
+ readonly name: "expirationTime";
1071
+ readonly type: "uint256";
1072
+ }, {
1073
+ readonly internalType: "uint256";
1074
+ readonly name: "duration";
1075
+ readonly type: "uint256";
1076
+ }];
1077
+ readonly internalType: "struct IMultiSourceLoan.RenegotiationOffer";
1078
+ readonly name: "_renegotiationOffer";
1079
+ readonly type: "tuple";
1080
+ }, {
1081
+ readonly components: readonly [{
1082
+ readonly internalType: "address";
1083
+ readonly name: "borrower";
1084
+ readonly type: "address";
1085
+ }, {
1086
+ readonly internalType: "uint256";
1087
+ readonly name: "nftCollateralTokenId";
1088
+ readonly type: "uint256";
1089
+ }, {
1090
+ readonly internalType: "address";
1091
+ readonly name: "nftCollateralAddress";
1092
+ readonly type: "address";
1093
+ }, {
1094
+ readonly internalType: "address";
1095
+ readonly name: "principalAddress";
1096
+ readonly type: "address";
1097
+ }, {
1098
+ readonly internalType: "uint256";
1099
+ readonly name: "principalAmount";
1100
+ readonly type: "uint256";
1101
+ }, {
1102
+ readonly internalType: "uint256";
1103
+ readonly name: "startTime";
1104
+ readonly type: "uint256";
1105
+ }, {
1106
+ readonly internalType: "uint256";
1107
+ readonly name: "duration";
1108
+ readonly type: "uint256";
1109
+ }, {
1110
+ readonly components: readonly [{
1111
+ readonly internalType: "uint256";
1112
+ readonly name: "loanId";
1113
+ readonly type: "uint256";
1114
+ }, {
1115
+ readonly internalType: "uint256";
1116
+ readonly name: "floor";
1117
+ readonly type: "uint256";
1118
+ }, {
1119
+ readonly internalType: "uint256";
1120
+ readonly name: "principalAmount";
1121
+ readonly type: "uint256";
1122
+ }, {
1123
+ readonly internalType: "address";
1124
+ readonly name: "lender";
1125
+ readonly type: "address";
1126
+ }, {
1127
+ readonly internalType: "uint256";
1128
+ readonly name: "accruedInterest";
1129
+ readonly type: "uint256";
1130
+ }, {
1131
+ readonly internalType: "uint256";
1132
+ readonly name: "startTime";
1133
+ readonly type: "uint256";
1134
+ }, {
1135
+ readonly internalType: "uint256";
1136
+ readonly name: "aprBps";
1137
+ readonly type: "uint256";
1138
+ }];
1139
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
1140
+ readonly name: "tranche";
1141
+ readonly type: "tuple[]";
1142
+ }, {
1143
+ readonly internalType: "uint256";
1144
+ readonly name: "protocolFee";
1145
+ readonly type: "uint256";
1146
+ }];
1147
+ readonly internalType: "struct IMultiSourceLoan.Loan";
1148
+ readonly name: "_loan";
1149
+ readonly type: "tuple";
1150
+ }, {
1151
+ readonly internalType: "bytes";
1152
+ readonly name: "_renegotiationOfferSignature";
1153
+ readonly type: "bytes";
1154
+ }];
1155
+ readonly name: "addNewTranche";
1156
+ readonly outputs: readonly [{
1157
+ readonly internalType: "uint256";
1158
+ readonly name: "";
1159
+ readonly type: "uint256";
1160
+ }, {
1161
+ readonly components: readonly [{
1162
+ readonly internalType: "address";
1163
+ readonly name: "borrower";
1164
+ readonly type: "address";
1165
+ }, {
1166
+ readonly internalType: "uint256";
1167
+ readonly name: "nftCollateralTokenId";
1168
+ readonly type: "uint256";
1169
+ }, {
1170
+ readonly internalType: "address";
1171
+ readonly name: "nftCollateralAddress";
1172
+ readonly type: "address";
1173
+ }, {
1174
+ readonly internalType: "address";
1175
+ readonly name: "principalAddress";
1176
+ readonly type: "address";
1177
+ }, {
1178
+ readonly internalType: "uint256";
1179
+ readonly name: "principalAmount";
1180
+ readonly type: "uint256";
1181
+ }, {
1182
+ readonly internalType: "uint256";
1183
+ readonly name: "startTime";
1184
+ readonly type: "uint256";
1185
+ }, {
1186
+ readonly internalType: "uint256";
1187
+ readonly name: "duration";
1188
+ readonly type: "uint256";
1189
+ }, {
1190
+ readonly components: readonly [{
1191
+ readonly internalType: "uint256";
1192
+ readonly name: "loanId";
1193
+ readonly type: "uint256";
1194
+ }, {
1195
+ readonly internalType: "uint256";
1196
+ readonly name: "floor";
1197
+ readonly type: "uint256";
1198
+ }, {
1199
+ readonly internalType: "uint256";
1200
+ readonly name: "principalAmount";
1201
+ readonly type: "uint256";
1202
+ }, {
1203
+ readonly internalType: "address";
1204
+ readonly name: "lender";
1205
+ readonly type: "address";
1206
+ }, {
1207
+ readonly internalType: "uint256";
1208
+ readonly name: "accruedInterest";
1209
+ readonly type: "uint256";
1210
+ }, {
1211
+ readonly internalType: "uint256";
1212
+ readonly name: "startTime";
1213
+ readonly type: "uint256";
1214
+ }, {
1215
+ readonly internalType: "uint256";
1216
+ readonly name: "aprBps";
1217
+ readonly type: "uint256";
1218
+ }];
1219
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
1220
+ readonly name: "tranche";
1221
+ readonly type: "tuple[]";
1222
+ }, {
1223
+ readonly internalType: "uint256";
1224
+ readonly name: "protocolFee";
1225
+ readonly type: "uint256";
1226
+ }];
1227
+ readonly internalType: "struct IMultiSourceLoan.Loan";
1228
+ readonly name: "";
1229
+ readonly type: "tuple";
1230
+ }];
1231
+ readonly stateMutability: "nonpayable";
1232
+ readonly type: "function";
1233
+ }, {
1234
+ readonly inputs: readonly [{
1235
+ readonly internalType: "address";
1236
+ readonly name: "_contract";
1237
+ readonly type: "address";
1238
+ }];
1239
+ readonly name: "addWhitelistedCallbackContract";
1240
+ readonly outputs: readonly [];
1241
+ readonly stateMutability: "nonpayable";
1242
+ readonly type: "function";
1243
+ }, {
1244
+ readonly inputs: readonly [{
1245
+ readonly internalType: "uint256";
1246
+ readonly name: "_offerId";
1247
+ readonly type: "uint256";
1248
+ }];
1249
+ readonly name: "cancelOffer";
1250
+ readonly outputs: readonly [];
1251
+ readonly stateMutability: "nonpayable";
1252
+ readonly type: "function";
1253
+ }, {
1254
+ readonly inputs: readonly [{
1255
+ readonly internalType: "uint256";
1256
+ readonly name: "_renegotiationId";
1257
+ readonly type: "uint256";
1258
+ }];
1259
+ readonly name: "cancelRenegotiationOffer";
1260
+ readonly outputs: readonly [];
1261
+ readonly stateMutability: "nonpayable";
1262
+ readonly type: "function";
1263
+ }, {
1264
+ readonly inputs: readonly [{
1265
+ readonly internalType: "uint256";
1266
+ readonly name: "_loanId";
1267
+ readonly type: "uint256";
1268
+ }, {
1269
+ readonly components: readonly [{
1270
+ readonly internalType: "address";
1271
+ readonly name: "borrower";
1272
+ readonly type: "address";
1273
+ }, {
1274
+ readonly internalType: "uint256";
1275
+ readonly name: "nftCollateralTokenId";
1276
+ readonly type: "uint256";
1277
+ }, {
1278
+ readonly internalType: "address";
1279
+ readonly name: "nftCollateralAddress";
1280
+ readonly type: "address";
1281
+ }, {
1282
+ readonly internalType: "address";
1283
+ readonly name: "principalAddress";
1284
+ readonly type: "address";
1285
+ }, {
1286
+ readonly internalType: "uint256";
1287
+ readonly name: "principalAmount";
1288
+ readonly type: "uint256";
1289
+ }, {
1290
+ readonly internalType: "uint256";
1291
+ readonly name: "startTime";
1292
+ readonly type: "uint256";
1293
+ }, {
1294
+ readonly internalType: "uint256";
1295
+ readonly name: "duration";
1296
+ readonly type: "uint256";
1297
+ }, {
1298
+ readonly components: readonly [{
1299
+ readonly internalType: "uint256";
1300
+ readonly name: "loanId";
1301
+ readonly type: "uint256";
1302
+ }, {
1303
+ readonly internalType: "uint256";
1304
+ readonly name: "floor";
1305
+ readonly type: "uint256";
1306
+ }, {
1307
+ readonly internalType: "uint256";
1308
+ readonly name: "principalAmount";
1309
+ readonly type: "uint256";
1310
+ }, {
1311
+ readonly internalType: "address";
1312
+ readonly name: "lender";
1313
+ readonly type: "address";
1314
+ }, {
1315
+ readonly internalType: "uint256";
1316
+ readonly name: "accruedInterest";
1317
+ readonly type: "uint256";
1318
+ }, {
1319
+ readonly internalType: "uint256";
1320
+ readonly name: "startTime";
1321
+ readonly type: "uint256";
1322
+ }, {
1323
+ readonly internalType: "uint256";
1324
+ readonly name: "aprBps";
1325
+ readonly type: "uint256";
1326
+ }];
1327
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
1328
+ readonly name: "tranche";
1329
+ readonly type: "tuple[]";
1330
+ }, {
1331
+ readonly internalType: "uint256";
1332
+ readonly name: "protocolFee";
1333
+ readonly type: "uint256";
1334
+ }];
1335
+ readonly internalType: "struct IMultiSourceLoan.Loan";
1336
+ readonly name: "loan";
1337
+ readonly type: "tuple";
1338
+ }, {
1339
+ readonly internalType: "address";
1340
+ readonly name: "_delegate";
1341
+ readonly type: "address";
1342
+ }, {
1343
+ readonly internalType: "bytes32";
1344
+ readonly name: "_rights";
1345
+ readonly type: "bytes32";
1346
+ }, {
1347
+ readonly internalType: "bool";
1348
+ readonly name: "_value";
1349
+ readonly type: "bool";
1350
+ }];
1351
+ readonly name: "delegate";
1352
+ readonly outputs: readonly [];
1353
+ readonly stateMutability: "nonpayable";
1354
+ readonly type: "function";
1355
+ }, {
1356
+ readonly inputs: readonly [{
1357
+ readonly components: readonly [{
1358
+ readonly components: readonly [{
1359
+ readonly components: readonly [{
1360
+ readonly components: readonly [{
1361
+ readonly internalType: "uint256";
1362
+ readonly name: "offerId";
1363
+ readonly type: "uint256";
1364
+ }, {
1365
+ readonly internalType: "address";
1366
+ readonly name: "lender";
1367
+ readonly type: "address";
1368
+ }, {
1369
+ readonly internalType: "uint256";
1370
+ readonly name: "fee";
1371
+ readonly type: "uint256";
1372
+ }, {
1373
+ readonly internalType: "uint256";
1374
+ readonly name: "capacity";
1375
+ readonly type: "uint256";
1376
+ }, {
1377
+ readonly internalType: "address";
1378
+ readonly name: "nftCollateralAddress";
1379
+ readonly type: "address";
1380
+ }, {
1381
+ readonly internalType: "uint256";
1382
+ readonly name: "nftCollateralTokenId";
1383
+ readonly type: "uint256";
1384
+ }, {
1385
+ readonly internalType: "address";
1386
+ readonly name: "principalAddress";
1387
+ readonly type: "address";
1388
+ }, {
1389
+ readonly internalType: "uint256";
1390
+ readonly name: "principalAmount";
1391
+ readonly type: "uint256";
1392
+ }, {
1393
+ readonly internalType: "uint256";
1394
+ readonly name: "aprBps";
1395
+ readonly type: "uint256";
1396
+ }, {
1397
+ readonly internalType: "uint256";
1398
+ readonly name: "expirationTime";
1399
+ readonly type: "uint256";
1400
+ }, {
1401
+ readonly internalType: "uint256";
1402
+ readonly name: "duration";
1403
+ readonly type: "uint256";
1404
+ }, {
1405
+ readonly internalType: "uint256";
1406
+ readonly name: "maxSeniorRepayment";
1407
+ readonly type: "uint256";
1408
+ }, {
1409
+ readonly components: readonly [{
1410
+ readonly internalType: "address";
1411
+ readonly name: "validator";
1412
+ readonly type: "address";
1413
+ }, {
1414
+ readonly internalType: "bytes";
1415
+ readonly name: "arguments";
1416
+ readonly type: "bytes";
1417
+ }];
1418
+ readonly internalType: "struct IBaseLoan.OfferValidator[]";
1419
+ readonly name: "validators";
1420
+ readonly type: "tuple[]";
1421
+ }];
1422
+ readonly internalType: "struct IMultiSourceLoan.LoanOffer";
1423
+ readonly name: "offer";
1424
+ readonly type: "tuple";
1425
+ }, {
1426
+ readonly internalType: "uint256";
1427
+ readonly name: "amount";
1428
+ readonly type: "uint256";
1429
+ }, {
1430
+ readonly internalType: "bytes";
1431
+ readonly name: "lenderOfferSignature";
1432
+ readonly type: "bytes";
1433
+ }];
1434
+ readonly internalType: "struct IMultiSourceLoan.OfferExecution[]";
1435
+ readonly name: "offerExecution";
1436
+ readonly type: "tuple[]";
1437
+ }, {
1438
+ readonly internalType: "uint256";
1439
+ readonly name: "loanId";
1440
+ readonly type: "uint256";
1441
+ }, {
1442
+ readonly internalType: "address";
1443
+ readonly name: "nftCollateralAddress";
1444
+ readonly type: "address";
1445
+ }, {
1446
+ readonly internalType: "uint256";
1447
+ readonly name: "tokenId";
1448
+ readonly type: "uint256";
1449
+ }, {
1450
+ readonly internalType: "uint256";
1451
+ readonly name: "duration";
1452
+ readonly type: "uint256";
1453
+ }, {
1454
+ readonly internalType: "uint256";
1455
+ readonly name: "expirationTime";
1456
+ readonly type: "uint256";
1457
+ }, {
1458
+ readonly internalType: "address";
1459
+ readonly name: "principalReceiver";
1460
+ readonly type: "address";
1461
+ }, {
1462
+ readonly internalType: "bytes";
1463
+ readonly name: "callbackData";
1464
+ readonly type: "bytes";
1465
+ }];
1466
+ readonly internalType: "struct IMultiSourceLoan.ExecutionData";
1467
+ readonly name: "executionData";
1468
+ readonly type: "tuple";
1469
+ }, {
1470
+ readonly internalType: "address";
1471
+ readonly name: "borrower";
1472
+ readonly type: "address";
1473
+ }, {
1474
+ readonly internalType: "bytes";
1475
+ readonly name: "borrowerOfferSignature";
1476
+ readonly type: "bytes";
1477
+ }];
1478
+ readonly internalType: "struct IMultiSourceLoan.LoanExecutionData";
1479
+ readonly name: "_loanExecutionData";
1480
+ readonly type: "tuple";
1481
+ }];
1482
+ readonly name: "emitLoan";
1483
+ readonly outputs: readonly [{
1484
+ readonly internalType: "uint256";
1485
+ readonly name: "";
1486
+ readonly type: "uint256";
1487
+ }, {
1488
+ readonly components: readonly [{
1489
+ readonly internalType: "address";
1490
+ readonly name: "borrower";
1491
+ readonly type: "address";
1492
+ }, {
1493
+ readonly internalType: "uint256";
1494
+ readonly name: "nftCollateralTokenId";
1495
+ readonly type: "uint256";
1496
+ }, {
1497
+ readonly internalType: "address";
1498
+ readonly name: "nftCollateralAddress";
1499
+ readonly type: "address";
1500
+ }, {
1501
+ readonly internalType: "address";
1502
+ readonly name: "principalAddress";
1503
+ readonly type: "address";
1504
+ }, {
1505
+ readonly internalType: "uint256";
1506
+ readonly name: "principalAmount";
1507
+ readonly type: "uint256";
1508
+ }, {
1509
+ readonly internalType: "uint256";
1510
+ readonly name: "startTime";
1511
+ readonly type: "uint256";
1512
+ }, {
1513
+ readonly internalType: "uint256";
1514
+ readonly name: "duration";
1515
+ readonly type: "uint256";
1516
+ }, {
1517
+ readonly components: readonly [{
1518
+ readonly internalType: "uint256";
1519
+ readonly name: "loanId";
1520
+ readonly type: "uint256";
1521
+ }, {
1522
+ readonly internalType: "uint256";
1523
+ readonly name: "floor";
1524
+ readonly type: "uint256";
1525
+ }, {
1526
+ readonly internalType: "uint256";
1527
+ readonly name: "principalAmount";
1528
+ readonly type: "uint256";
1529
+ }, {
1530
+ readonly internalType: "address";
1531
+ readonly name: "lender";
1532
+ readonly type: "address";
1533
+ }, {
1534
+ readonly internalType: "uint256";
1535
+ readonly name: "accruedInterest";
1536
+ readonly type: "uint256";
1537
+ }, {
1538
+ readonly internalType: "uint256";
1539
+ readonly name: "startTime";
1540
+ readonly type: "uint256";
1541
+ }, {
1542
+ readonly internalType: "uint256";
1543
+ readonly name: "aprBps";
1544
+ readonly type: "uint256";
1545
+ }];
1546
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
1547
+ readonly name: "tranche";
1548
+ readonly type: "tuple[]";
1549
+ }, {
1550
+ readonly internalType: "uint256";
1551
+ readonly name: "protocolFee";
1552
+ readonly type: "uint256";
1553
+ }];
1554
+ readonly internalType: "struct IMultiSourceLoan.Loan";
1555
+ readonly name: "";
1556
+ readonly type: "tuple";
1557
+ }];
1558
+ readonly stateMutability: "nonpayable";
1559
+ readonly type: "function";
1560
+ }, {
1561
+ readonly inputs: readonly [{
1562
+ readonly internalType: "uint256";
1563
+ readonly name: "_loanId";
1564
+ readonly type: "uint256";
1565
+ }, {
1566
+ readonly components: readonly [{
1567
+ readonly internalType: "address";
1568
+ readonly name: "borrower";
1569
+ readonly type: "address";
1570
+ }, {
1571
+ readonly internalType: "uint256";
1572
+ readonly name: "nftCollateralTokenId";
1573
+ readonly type: "uint256";
1574
+ }, {
1575
+ readonly internalType: "address";
1576
+ readonly name: "nftCollateralAddress";
1577
+ readonly type: "address";
1578
+ }, {
1579
+ readonly internalType: "address";
1580
+ readonly name: "principalAddress";
1581
+ readonly type: "address";
1582
+ }, {
1583
+ readonly internalType: "uint256";
1584
+ readonly name: "principalAmount";
1585
+ readonly type: "uint256";
1586
+ }, {
1587
+ readonly internalType: "uint256";
1588
+ readonly name: "startTime";
1589
+ readonly type: "uint256";
1590
+ }, {
1591
+ readonly internalType: "uint256";
1592
+ readonly name: "duration";
1593
+ readonly type: "uint256";
1594
+ }, {
1595
+ readonly components: readonly [{
1596
+ readonly internalType: "uint256";
1597
+ readonly name: "loanId";
1598
+ readonly type: "uint256";
1599
+ }, {
1600
+ readonly internalType: "uint256";
1601
+ readonly name: "floor";
1602
+ readonly type: "uint256";
1603
+ }, {
1604
+ readonly internalType: "uint256";
1605
+ readonly name: "principalAmount";
1606
+ readonly type: "uint256";
1607
+ }, {
1608
+ readonly internalType: "address";
1609
+ readonly name: "lender";
1610
+ readonly type: "address";
1611
+ }, {
1612
+ readonly internalType: "uint256";
1613
+ readonly name: "accruedInterest";
1614
+ readonly type: "uint256";
1615
+ }, {
1616
+ readonly internalType: "uint256";
1617
+ readonly name: "startTime";
1618
+ readonly type: "uint256";
1619
+ }, {
1620
+ readonly internalType: "uint256";
1621
+ readonly name: "aprBps";
1622
+ readonly type: "uint256";
1623
+ }];
1624
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
1625
+ readonly name: "tranche";
1626
+ readonly type: "tuple[]";
1627
+ }, {
1628
+ readonly internalType: "uint256";
1629
+ readonly name: "protocolFee";
1630
+ readonly type: "uint256";
1631
+ }];
1632
+ readonly internalType: "struct IMultiSourceLoan.Loan";
1633
+ readonly name: "_loan";
1634
+ readonly type: "tuple";
1635
+ }, {
1636
+ readonly internalType: "address";
1637
+ readonly name: "_target";
1638
+ readonly type: "address";
1639
+ }, {
1640
+ readonly internalType: "bytes";
1641
+ readonly name: "_data";
1642
+ readonly type: "bytes";
1643
+ }];
1644
+ readonly name: "executeFlashAction";
1645
+ readonly outputs: readonly [];
1646
+ readonly stateMutability: "nonpayable";
1647
+ readonly type: "function";
1648
+ }, {
1649
+ readonly inputs: readonly [];
1650
+ readonly name: "getCollectionManager";
1651
+ readonly outputs: readonly [{
1652
+ readonly internalType: "address";
1653
+ readonly name: "";
1654
+ readonly type: "address";
1655
+ }];
1656
+ readonly stateMutability: "view";
1657
+ readonly type: "function";
1658
+ }, {
1659
+ readonly inputs: readonly [];
1660
+ readonly name: "getCurrencyManager";
1661
+ readonly outputs: readonly [{
1662
+ readonly internalType: "address";
1663
+ readonly name: "";
1664
+ readonly type: "address";
1665
+ }];
1666
+ readonly stateMutability: "view";
1667
+ readonly type: "function";
1668
+ }, {
1669
+ readonly inputs: readonly [];
1670
+ readonly name: "getDelegateRegistry";
1671
+ readonly outputs: readonly [{
1672
+ readonly internalType: "address";
1673
+ readonly name: "";
1674
+ readonly type: "address";
1675
+ }];
1676
+ readonly stateMutability: "view";
1677
+ readonly type: "function";
1678
+ }, {
1679
+ readonly inputs: readonly [];
1680
+ readonly name: "getFlashActionContract";
1681
+ readonly outputs: readonly [{
1682
+ readonly internalType: "address";
1683
+ readonly name: "";
1684
+ readonly type: "address";
1685
+ }];
1686
+ readonly stateMutability: "view";
1687
+ readonly type: "function";
1688
+ }, {
1689
+ readonly inputs: readonly [];
1690
+ readonly name: "getLiquidationAuctionDuration";
1691
+ readonly outputs: readonly [{
1692
+ readonly internalType: "uint48";
1693
+ readonly name: "";
1694
+ readonly type: "uint48";
1695
+ }];
1696
+ readonly stateMutability: "view";
1697
+ readonly type: "function";
1698
+ }, {
1699
+ readonly inputs: readonly [];
1700
+ readonly name: "getLiquidator";
1701
+ readonly outputs: readonly [{
1702
+ readonly internalType: "address";
1703
+ readonly name: "";
1704
+ readonly type: "address";
1705
+ }];
1706
+ readonly stateMutability: "view";
1707
+ readonly type: "function";
1708
+ }, {
1709
+ readonly inputs: readonly [{
1710
+ readonly internalType: "uint256";
1711
+ readonly name: "_loanId";
1712
+ readonly type: "uint256";
1713
+ }];
1714
+ readonly name: "getLoanHash";
1715
+ readonly outputs: readonly [{
1716
+ readonly internalType: "bytes32";
1717
+ readonly name: "";
1718
+ readonly type: "bytes32";
1719
+ }];
1720
+ readonly stateMutability: "view";
1721
+ readonly type: "function";
1722
+ }, {
1723
+ readonly inputs: readonly [];
1724
+ readonly name: "getLoanManagerRegistry";
1725
+ readonly outputs: readonly [{
1726
+ readonly internalType: "contract ILoanManagerRegistry";
1727
+ readonly name: "";
1728
+ readonly type: "address";
1729
+ }];
1730
+ readonly stateMutability: "view";
1731
+ readonly type: "function";
1732
+ }, {
1733
+ readonly inputs: readonly [];
1734
+ readonly name: "getMaxTranches";
1735
+ readonly outputs: readonly [{
1736
+ readonly internalType: "uint256";
1737
+ readonly name: "";
1738
+ readonly type: "uint256";
1739
+ }];
1740
+ readonly stateMutability: "view";
1741
+ readonly type: "function";
1742
+ }, {
1743
+ readonly inputs: readonly [];
1744
+ readonly name: "getMinImprovementApr";
1745
+ readonly outputs: readonly [{
1746
+ readonly internalType: "uint256";
1747
+ readonly name: "";
1748
+ readonly type: "uint256";
1749
+ }];
1750
+ readonly stateMutability: "view";
1751
+ readonly type: "function";
1752
+ }, {
1753
+ readonly inputs: readonly [];
1754
+ readonly name: "getMinLockPeriod";
1755
+ readonly outputs: readonly [{
1756
+ readonly internalType: "uint256";
1757
+ readonly name: "";
1758
+ readonly type: "uint256";
1759
+ }];
1760
+ readonly stateMutability: "view";
1761
+ readonly type: "function";
1762
+ }, {
1763
+ readonly inputs: readonly [];
1764
+ readonly name: "getPendingProtocolFee";
1765
+ readonly outputs: readonly [{
1766
+ readonly components: readonly [{
1767
+ readonly internalType: "address";
1768
+ readonly name: "recipient";
1769
+ readonly type: "address";
1770
+ }, {
1771
+ readonly internalType: "uint256";
1772
+ readonly name: "fraction";
1773
+ readonly type: "uint256";
1774
+ }];
1775
+ readonly internalType: "struct WithProtocolFee.ProtocolFee";
1776
+ readonly name: "";
1777
+ readonly type: "tuple";
1778
+ }];
1779
+ readonly stateMutability: "view";
1780
+ readonly type: "function";
1781
+ }, {
1782
+ readonly inputs: readonly [];
1783
+ readonly name: "getPendingProtocolFeeSetTime";
1784
+ readonly outputs: readonly [{
1785
+ readonly internalType: "uint256";
1786
+ readonly name: "";
1787
+ readonly type: "uint256";
1788
+ }];
1789
+ readonly stateMutability: "view";
1790
+ readonly type: "function";
1791
+ }, {
1792
+ readonly inputs: readonly [];
1793
+ readonly name: "getProtocolFee";
1794
+ readonly outputs: readonly [{
1795
+ readonly components: readonly [{
1796
+ readonly internalType: "address";
1797
+ readonly name: "recipient";
1798
+ readonly type: "address";
1799
+ }, {
1800
+ readonly internalType: "uint256";
1801
+ readonly name: "fraction";
1802
+ readonly type: "uint256";
1803
+ }];
1804
+ readonly internalType: "struct WithProtocolFee.ProtocolFee";
1805
+ readonly name: "";
1806
+ readonly type: "tuple";
1807
+ }];
1808
+ readonly stateMutability: "view";
1809
+ readonly type: "function";
1810
+ }, {
1811
+ readonly inputs: readonly [];
1812
+ readonly name: "getTotalLoansIssued";
1813
+ readonly outputs: readonly [{
1814
+ readonly internalType: "uint256";
1815
+ readonly name: "";
1816
+ readonly type: "uint256";
1817
+ }];
1818
+ readonly stateMutability: "view";
1819
+ readonly type: "function";
1820
+ }, {
1821
+ readonly inputs: readonly [{
1822
+ readonly internalType: "address";
1823
+ readonly name: "_lender";
1824
+ readonly type: "address";
1825
+ }, {
1826
+ readonly internalType: "uint256";
1827
+ readonly name: "_offerId";
1828
+ readonly type: "uint256";
1829
+ }];
1830
+ readonly name: "getUsedCapacity";
1831
+ readonly outputs: readonly [{
1832
+ readonly internalType: "uint256";
1833
+ readonly name: "";
1834
+ readonly type: "uint256";
1835
+ }];
1836
+ readonly stateMutability: "view";
1837
+ readonly type: "function";
1838
+ }, {
1839
+ readonly inputs: readonly [{
1840
+ readonly internalType: "address";
1841
+ readonly name: "user";
1842
+ readonly type: "address";
1843
+ }, {
1844
+ readonly internalType: "uint256";
1845
+ readonly name: "offerId";
1846
+ readonly type: "uint256";
1847
+ }];
1848
+ readonly name: "isOfferCancelled";
1849
+ readonly outputs: readonly [{
1850
+ readonly internalType: "bool";
1851
+ readonly name: "notActive";
1852
+ readonly type: "bool";
1853
+ }];
1854
+ readonly stateMutability: "view";
1855
+ readonly type: "function";
1856
+ }, {
1857
+ readonly inputs: readonly [{
1858
+ readonly internalType: "address";
1859
+ readonly name: "user";
1860
+ readonly type: "address";
1861
+ }, {
1862
+ readonly internalType: "uint256";
1863
+ readonly name: "renegotiationIf";
1864
+ readonly type: "uint256";
1865
+ }];
1866
+ readonly name: "isRenegotiationOfferCancelled";
1867
+ readonly outputs: readonly [{
1868
+ readonly internalType: "bool";
1869
+ readonly name: "notActive";
1870
+ readonly type: "bool";
1871
+ }];
1872
+ readonly stateMutability: "view";
1873
+ readonly type: "function";
1874
+ }, {
1875
+ readonly inputs: readonly [{
1876
+ readonly internalType: "address";
1877
+ readonly name: "_contract";
1878
+ readonly type: "address";
1879
+ }];
1880
+ readonly name: "isWhitelistedCallbackContract";
1881
+ readonly outputs: readonly [{
1882
+ readonly internalType: "bool";
1883
+ readonly name: "";
1884
+ readonly type: "bool";
1885
+ }];
1886
+ readonly stateMutability: "view";
1887
+ readonly type: "function";
1888
+ }, {
1889
+ readonly inputs: readonly [{
1890
+ readonly internalType: "uint256";
1891
+ readonly name: "_loanId";
1892
+ readonly type: "uint256";
1893
+ }, {
1894
+ readonly components: readonly [{
1895
+ readonly internalType: "address";
1896
+ readonly name: "borrower";
1897
+ readonly type: "address";
1898
+ }, {
1899
+ readonly internalType: "uint256";
1900
+ readonly name: "nftCollateralTokenId";
1901
+ readonly type: "uint256";
1902
+ }, {
1903
+ readonly internalType: "address";
1904
+ readonly name: "nftCollateralAddress";
1905
+ readonly type: "address";
1906
+ }, {
1907
+ readonly internalType: "address";
1908
+ readonly name: "principalAddress";
1909
+ readonly type: "address";
1910
+ }, {
1911
+ readonly internalType: "uint256";
1912
+ readonly name: "principalAmount";
1913
+ readonly type: "uint256";
1914
+ }, {
1915
+ readonly internalType: "uint256";
1916
+ readonly name: "startTime";
1917
+ readonly type: "uint256";
1918
+ }, {
1919
+ readonly internalType: "uint256";
1920
+ readonly name: "duration";
1921
+ readonly type: "uint256";
1922
+ }, {
1923
+ readonly components: readonly [{
1924
+ readonly internalType: "uint256";
1925
+ readonly name: "loanId";
1926
+ readonly type: "uint256";
1927
+ }, {
1928
+ readonly internalType: "uint256";
1929
+ readonly name: "floor";
1930
+ readonly type: "uint256";
1931
+ }, {
1932
+ readonly internalType: "uint256";
1933
+ readonly name: "principalAmount";
1934
+ readonly type: "uint256";
1935
+ }, {
1936
+ readonly internalType: "address";
1937
+ readonly name: "lender";
1938
+ readonly type: "address";
1939
+ }, {
1940
+ readonly internalType: "uint256";
1941
+ readonly name: "accruedInterest";
1942
+ readonly type: "uint256";
1943
+ }, {
1944
+ readonly internalType: "uint256";
1945
+ readonly name: "startTime";
1946
+ readonly type: "uint256";
1947
+ }, {
1948
+ readonly internalType: "uint256";
1949
+ readonly name: "aprBps";
1950
+ readonly type: "uint256";
1951
+ }];
1952
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
1953
+ readonly name: "tranche";
1954
+ readonly type: "tuple[]";
1955
+ }, {
1956
+ readonly internalType: "uint256";
1957
+ readonly name: "protocolFee";
1958
+ readonly type: "uint256";
1959
+ }];
1960
+ readonly internalType: "struct IMultiSourceLoan.Loan";
1961
+ readonly name: "_loan";
1962
+ readonly type: "tuple";
1963
+ }];
1964
+ readonly name: "liquidateLoan";
1965
+ readonly outputs: readonly [{
1966
+ readonly internalType: "bytes";
1967
+ readonly name: "";
1968
+ readonly type: "bytes";
1969
+ }];
1970
+ readonly stateMutability: "nonpayable";
1971
+ readonly type: "function";
1972
+ }, {
1973
+ readonly inputs: readonly [{
1974
+ readonly internalType: "uint256";
1975
+ readonly name: "_loanId";
1976
+ readonly type: "uint256";
1977
+ }, {
1978
+ readonly components: readonly [{
1979
+ readonly internalType: "address";
1980
+ readonly name: "borrower";
1981
+ readonly type: "address";
1982
+ }, {
1983
+ readonly internalType: "uint256";
1984
+ readonly name: "nftCollateralTokenId";
1985
+ readonly type: "uint256";
1986
+ }, {
1987
+ readonly internalType: "address";
1988
+ readonly name: "nftCollateralAddress";
1989
+ readonly type: "address";
1990
+ }, {
1991
+ readonly internalType: "address";
1992
+ readonly name: "principalAddress";
1993
+ readonly type: "address";
1994
+ }, {
1995
+ readonly internalType: "uint256";
1996
+ readonly name: "principalAmount";
1997
+ readonly type: "uint256";
1998
+ }, {
1999
+ readonly internalType: "uint256";
2000
+ readonly name: "startTime";
2001
+ readonly type: "uint256";
2002
+ }, {
2003
+ readonly internalType: "uint256";
2004
+ readonly name: "duration";
2005
+ readonly type: "uint256";
2006
+ }, {
2007
+ readonly components: readonly [{
2008
+ readonly internalType: "uint256";
2009
+ readonly name: "loanId";
2010
+ readonly type: "uint256";
2011
+ }, {
2012
+ readonly internalType: "uint256";
2013
+ readonly name: "floor";
2014
+ readonly type: "uint256";
2015
+ }, {
2016
+ readonly internalType: "uint256";
2017
+ readonly name: "principalAmount";
2018
+ readonly type: "uint256";
2019
+ }, {
2020
+ readonly internalType: "address";
2021
+ readonly name: "lender";
2022
+ readonly type: "address";
2023
+ }, {
2024
+ readonly internalType: "uint256";
2025
+ readonly name: "accruedInterest";
2026
+ readonly type: "uint256";
2027
+ }, {
2028
+ readonly internalType: "uint256";
2029
+ readonly name: "startTime";
2030
+ readonly type: "uint256";
2031
+ }, {
2032
+ readonly internalType: "uint256";
2033
+ readonly name: "aprBps";
2034
+ readonly type: "uint256";
2035
+ }];
2036
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
2037
+ readonly name: "tranche";
2038
+ readonly type: "tuple[]";
2039
+ }, {
2040
+ readonly internalType: "uint256";
2041
+ readonly name: "protocolFee";
2042
+ readonly type: "uint256";
2043
+ }];
2044
+ readonly internalType: "struct IMultiSourceLoan.Loan";
2045
+ readonly name: "_loan";
2046
+ readonly type: "tuple";
2047
+ }];
2048
+ readonly name: "loanLiquidated";
2049
+ readonly outputs: readonly [];
2050
+ readonly stateMutability: "nonpayable";
2051
+ readonly type: "function";
2052
+ }, {
2053
+ readonly inputs: readonly [{
2054
+ readonly internalType: "bytes[]";
2055
+ readonly name: "data";
2056
+ readonly type: "bytes[]";
2057
+ }];
2058
+ readonly name: "multicall";
2059
+ readonly outputs: readonly [{
2060
+ readonly internalType: "bytes[]";
2061
+ readonly name: "results";
2062
+ readonly type: "bytes[]";
2063
+ }];
2064
+ readonly stateMutability: "payable";
2065
+ readonly type: "function";
2066
+ }, {
2067
+ readonly inputs: readonly [];
2068
+ readonly name: "name";
2069
+ readonly outputs: readonly [{
2070
+ readonly internalType: "string";
2071
+ readonly name: "";
2072
+ readonly type: "string";
2073
+ }];
2074
+ readonly stateMutability: "view";
2075
+ readonly type: "function";
2076
+ }, {
2077
+ readonly inputs: readonly [{
2078
+ readonly internalType: "address";
2079
+ readonly name: "";
2080
+ readonly type: "address";
2081
+ }, {
2082
+ readonly internalType: "address";
2083
+ readonly name: "";
2084
+ readonly type: "address";
2085
+ }, {
2086
+ readonly internalType: "uint256";
2087
+ readonly name: "";
2088
+ readonly type: "uint256";
2089
+ }, {
2090
+ readonly internalType: "bytes";
2091
+ readonly name: "";
2092
+ readonly type: "bytes";
2093
+ }];
2094
+ readonly name: "onERC721Received";
2095
+ readonly outputs: readonly [{
2096
+ readonly internalType: "bytes4";
2097
+ readonly name: "";
2098
+ readonly type: "bytes4";
2099
+ }];
2100
+ readonly stateMutability: "nonpayable";
2101
+ readonly type: "function";
2102
+ }, {
2103
+ readonly inputs: readonly [];
2104
+ readonly name: "owner";
2105
+ readonly outputs: readonly [{
2106
+ readonly internalType: "address";
2107
+ readonly name: "";
2108
+ readonly type: "address";
2109
+ }];
2110
+ readonly stateMutability: "view";
2111
+ readonly type: "function";
2112
+ }, {
2113
+ readonly inputs: readonly [];
2114
+ readonly name: "pendingOwner";
2115
+ readonly outputs: readonly [{
2116
+ readonly internalType: "address";
2117
+ readonly name: "";
2118
+ readonly type: "address";
2119
+ }];
2120
+ readonly stateMutability: "view";
2121
+ readonly type: "function";
2122
+ }, {
2123
+ readonly inputs: readonly [];
2124
+ readonly name: "pendingOwnerTime";
2125
+ readonly outputs: readonly [{
2126
+ readonly internalType: "uint256";
2127
+ readonly name: "";
2128
+ readonly type: "uint256";
2129
+ }];
2130
+ readonly stateMutability: "view";
2131
+ readonly type: "function";
2132
+ }, {
2133
+ readonly inputs: readonly [{
2134
+ readonly internalType: "uint256";
2135
+ readonly name: "_loanId";
2136
+ readonly type: "uint256";
2137
+ }, {
2138
+ readonly components: readonly [{
2139
+ readonly internalType: "address";
2140
+ readonly name: "borrower";
2141
+ readonly type: "address";
2142
+ }, {
2143
+ readonly internalType: "uint256";
2144
+ readonly name: "nftCollateralTokenId";
2145
+ readonly type: "uint256";
2146
+ }, {
2147
+ readonly internalType: "address";
2148
+ readonly name: "nftCollateralAddress";
2149
+ readonly type: "address";
2150
+ }, {
2151
+ readonly internalType: "address";
2152
+ readonly name: "principalAddress";
2153
+ readonly type: "address";
2154
+ }, {
2155
+ readonly internalType: "uint256";
2156
+ readonly name: "principalAmount";
2157
+ readonly type: "uint256";
2158
+ }, {
2159
+ readonly internalType: "uint256";
2160
+ readonly name: "startTime";
2161
+ readonly type: "uint256";
2162
+ }, {
2163
+ readonly internalType: "uint256";
2164
+ readonly name: "duration";
2165
+ readonly type: "uint256";
2166
+ }, {
2167
+ readonly components: readonly [{
2168
+ readonly internalType: "uint256";
2169
+ readonly name: "loanId";
2170
+ readonly type: "uint256";
2171
+ }, {
2172
+ readonly internalType: "uint256";
2173
+ readonly name: "floor";
2174
+ readonly type: "uint256";
2175
+ }, {
2176
+ readonly internalType: "uint256";
2177
+ readonly name: "principalAmount";
2178
+ readonly type: "uint256";
2179
+ }, {
2180
+ readonly internalType: "address";
2181
+ readonly name: "lender";
2182
+ readonly type: "address";
2183
+ }, {
2184
+ readonly internalType: "uint256";
2185
+ readonly name: "accruedInterest";
2186
+ readonly type: "uint256";
2187
+ }, {
2188
+ readonly internalType: "uint256";
2189
+ readonly name: "startTime";
2190
+ readonly type: "uint256";
2191
+ }, {
2192
+ readonly internalType: "uint256";
2193
+ readonly name: "aprBps";
2194
+ readonly type: "uint256";
2195
+ }];
2196
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
2197
+ readonly name: "tranche";
2198
+ readonly type: "tuple[]";
2199
+ }, {
2200
+ readonly internalType: "uint256";
2201
+ readonly name: "protocolFee";
2202
+ readonly type: "uint256";
2203
+ }];
2204
+ readonly internalType: "struct IMultiSourceLoan.Loan";
2205
+ readonly name: "_loan";
2206
+ readonly type: "tuple";
2207
+ }, {
2208
+ readonly components: readonly [{
2209
+ readonly components: readonly [{
2210
+ readonly components: readonly [{
2211
+ readonly components: readonly [{
2212
+ readonly internalType: "uint256";
2213
+ readonly name: "offerId";
2214
+ readonly type: "uint256";
2215
+ }, {
2216
+ readonly internalType: "address";
2217
+ readonly name: "lender";
2218
+ readonly type: "address";
2219
+ }, {
2220
+ readonly internalType: "uint256";
2221
+ readonly name: "fee";
2222
+ readonly type: "uint256";
2223
+ }, {
2224
+ readonly internalType: "uint256";
2225
+ readonly name: "capacity";
2226
+ readonly type: "uint256";
2227
+ }, {
2228
+ readonly internalType: "address";
2229
+ readonly name: "nftCollateralAddress";
2230
+ readonly type: "address";
2231
+ }, {
2232
+ readonly internalType: "uint256";
2233
+ readonly name: "nftCollateralTokenId";
2234
+ readonly type: "uint256";
2235
+ }, {
2236
+ readonly internalType: "address";
2237
+ readonly name: "principalAddress";
2238
+ readonly type: "address";
2239
+ }, {
2240
+ readonly internalType: "uint256";
2241
+ readonly name: "principalAmount";
2242
+ readonly type: "uint256";
2243
+ }, {
2244
+ readonly internalType: "uint256";
2245
+ readonly name: "aprBps";
2246
+ readonly type: "uint256";
2247
+ }, {
2248
+ readonly internalType: "uint256";
2249
+ readonly name: "expirationTime";
2250
+ readonly type: "uint256";
2251
+ }, {
2252
+ readonly internalType: "uint256";
2253
+ readonly name: "duration";
2254
+ readonly type: "uint256";
2255
+ }, {
2256
+ readonly internalType: "uint256";
2257
+ readonly name: "maxSeniorRepayment";
2258
+ readonly type: "uint256";
2259
+ }, {
2260
+ readonly components: readonly [{
2261
+ readonly internalType: "address";
2262
+ readonly name: "validator";
2263
+ readonly type: "address";
2264
+ }, {
2265
+ readonly internalType: "bytes";
2266
+ readonly name: "arguments";
2267
+ readonly type: "bytes";
2268
+ }];
2269
+ readonly internalType: "struct IBaseLoan.OfferValidator[]";
2270
+ readonly name: "validators";
2271
+ readonly type: "tuple[]";
2272
+ }];
2273
+ readonly internalType: "struct IMultiSourceLoan.LoanOffer";
2274
+ readonly name: "offer";
2275
+ readonly type: "tuple";
2276
+ }, {
2277
+ readonly internalType: "uint256";
2278
+ readonly name: "amount";
2279
+ readonly type: "uint256";
2280
+ }, {
2281
+ readonly internalType: "bytes";
2282
+ readonly name: "lenderOfferSignature";
2283
+ readonly type: "bytes";
2284
+ }];
2285
+ readonly internalType: "struct IMultiSourceLoan.OfferExecution[]";
2286
+ readonly name: "offerExecution";
2287
+ readonly type: "tuple[]";
2288
+ }, {
2289
+ readonly internalType: "uint256";
2290
+ readonly name: "loanId";
2291
+ readonly type: "uint256";
2292
+ }, {
2293
+ readonly internalType: "address";
2294
+ readonly name: "nftCollateralAddress";
2295
+ readonly type: "address";
2296
+ }, {
2297
+ readonly internalType: "uint256";
2298
+ readonly name: "tokenId";
2299
+ readonly type: "uint256";
2300
+ }, {
2301
+ readonly internalType: "uint256";
2302
+ readonly name: "duration";
2303
+ readonly type: "uint256";
2304
+ }, {
2305
+ readonly internalType: "uint256";
2306
+ readonly name: "expirationTime";
2307
+ readonly type: "uint256";
2308
+ }, {
2309
+ readonly internalType: "address";
2310
+ readonly name: "principalReceiver";
2311
+ readonly type: "address";
2312
+ }, {
2313
+ readonly internalType: "bytes";
2314
+ readonly name: "callbackData";
2315
+ readonly type: "bytes";
2316
+ }];
2317
+ readonly internalType: "struct IMultiSourceLoan.ExecutionData";
2318
+ readonly name: "executionData";
2319
+ readonly type: "tuple";
2320
+ }, {
2321
+ readonly internalType: "address";
2322
+ readonly name: "borrower";
2323
+ readonly type: "address";
2324
+ }, {
2325
+ readonly internalType: "bytes";
2326
+ readonly name: "borrowerOfferSignature";
2327
+ readonly type: "bytes";
2328
+ }];
2329
+ readonly internalType: "struct IMultiSourceLoan.LoanExecutionData";
2330
+ readonly name: "_loanExecutionData";
2331
+ readonly type: "tuple";
2332
+ }];
2333
+ readonly name: "refinanceFromLoanExecutionData";
2334
+ readonly outputs: readonly [{
2335
+ readonly internalType: "uint256";
2336
+ readonly name: "";
2337
+ readonly type: "uint256";
2338
+ }, {
2339
+ readonly components: readonly [{
2340
+ readonly internalType: "address";
2341
+ readonly name: "borrower";
2342
+ readonly type: "address";
2343
+ }, {
2344
+ readonly internalType: "uint256";
2345
+ readonly name: "nftCollateralTokenId";
2346
+ readonly type: "uint256";
2347
+ }, {
2348
+ readonly internalType: "address";
2349
+ readonly name: "nftCollateralAddress";
2350
+ readonly type: "address";
2351
+ }, {
2352
+ readonly internalType: "address";
2353
+ readonly name: "principalAddress";
2354
+ readonly type: "address";
2355
+ }, {
2356
+ readonly internalType: "uint256";
2357
+ readonly name: "principalAmount";
2358
+ readonly type: "uint256";
2359
+ }, {
2360
+ readonly internalType: "uint256";
2361
+ readonly name: "startTime";
2362
+ readonly type: "uint256";
2363
+ }, {
2364
+ readonly internalType: "uint256";
2365
+ readonly name: "duration";
2366
+ readonly type: "uint256";
2367
+ }, {
2368
+ readonly components: readonly [{
2369
+ readonly internalType: "uint256";
2370
+ readonly name: "loanId";
2371
+ readonly type: "uint256";
2372
+ }, {
2373
+ readonly internalType: "uint256";
2374
+ readonly name: "floor";
2375
+ readonly type: "uint256";
2376
+ }, {
2377
+ readonly internalType: "uint256";
2378
+ readonly name: "principalAmount";
2379
+ readonly type: "uint256";
2380
+ }, {
2381
+ readonly internalType: "address";
2382
+ readonly name: "lender";
2383
+ readonly type: "address";
2384
+ }, {
2385
+ readonly internalType: "uint256";
2386
+ readonly name: "accruedInterest";
2387
+ readonly type: "uint256";
2388
+ }, {
2389
+ readonly internalType: "uint256";
2390
+ readonly name: "startTime";
2391
+ readonly type: "uint256";
2392
+ }, {
2393
+ readonly internalType: "uint256";
2394
+ readonly name: "aprBps";
2395
+ readonly type: "uint256";
2396
+ }];
2397
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
2398
+ readonly name: "tranche";
2399
+ readonly type: "tuple[]";
2400
+ }, {
2401
+ readonly internalType: "uint256";
2402
+ readonly name: "protocolFee";
2403
+ readonly type: "uint256";
2404
+ }];
2405
+ readonly internalType: "struct IMultiSourceLoan.Loan";
2406
+ readonly name: "";
2407
+ readonly type: "tuple";
2408
+ }];
2409
+ readonly stateMutability: "nonpayable";
2410
+ readonly type: "function";
2411
+ }, {
2412
+ readonly inputs: readonly [{
2413
+ readonly components: readonly [{
2414
+ readonly internalType: "uint256";
2415
+ readonly name: "renegotiationId";
2416
+ readonly type: "uint256";
2417
+ }, {
2418
+ readonly internalType: "uint256";
2419
+ readonly name: "loanId";
2420
+ readonly type: "uint256";
2421
+ }, {
2422
+ readonly internalType: "address";
2423
+ readonly name: "lender";
2424
+ readonly type: "address";
2425
+ }, {
2426
+ readonly internalType: "uint256";
2427
+ readonly name: "fee";
2428
+ readonly type: "uint256";
2429
+ }, {
2430
+ readonly internalType: "uint256[]";
2431
+ readonly name: "trancheIndex";
2432
+ readonly type: "uint256[]";
2433
+ }, {
2434
+ readonly internalType: "uint256";
2435
+ readonly name: "principalAmount";
2436
+ readonly type: "uint256";
2437
+ }, {
2438
+ readonly internalType: "uint256";
2439
+ readonly name: "aprBps";
2440
+ readonly type: "uint256";
2441
+ }, {
2442
+ readonly internalType: "uint256";
2443
+ readonly name: "expirationTime";
2444
+ readonly type: "uint256";
2445
+ }, {
2446
+ readonly internalType: "uint256";
2447
+ readonly name: "duration";
2448
+ readonly type: "uint256";
2449
+ }];
2450
+ readonly internalType: "struct IMultiSourceLoan.RenegotiationOffer";
2451
+ readonly name: "_renegotiationOffer";
2452
+ readonly type: "tuple";
2453
+ }, {
2454
+ readonly components: readonly [{
2455
+ readonly internalType: "address";
2456
+ readonly name: "borrower";
2457
+ readonly type: "address";
2458
+ }, {
2459
+ readonly internalType: "uint256";
2460
+ readonly name: "nftCollateralTokenId";
2461
+ readonly type: "uint256";
2462
+ }, {
2463
+ readonly internalType: "address";
2464
+ readonly name: "nftCollateralAddress";
2465
+ readonly type: "address";
2466
+ }, {
2467
+ readonly internalType: "address";
2468
+ readonly name: "principalAddress";
2469
+ readonly type: "address";
2470
+ }, {
2471
+ readonly internalType: "uint256";
2472
+ readonly name: "principalAmount";
2473
+ readonly type: "uint256";
2474
+ }, {
2475
+ readonly internalType: "uint256";
2476
+ readonly name: "startTime";
2477
+ readonly type: "uint256";
2478
+ }, {
2479
+ readonly internalType: "uint256";
2480
+ readonly name: "duration";
2481
+ readonly type: "uint256";
2482
+ }, {
2483
+ readonly components: readonly [{
2484
+ readonly internalType: "uint256";
2485
+ readonly name: "loanId";
2486
+ readonly type: "uint256";
2487
+ }, {
2488
+ readonly internalType: "uint256";
2489
+ readonly name: "floor";
2490
+ readonly type: "uint256";
2491
+ }, {
2492
+ readonly internalType: "uint256";
2493
+ readonly name: "principalAmount";
2494
+ readonly type: "uint256";
2495
+ }, {
2496
+ readonly internalType: "address";
2497
+ readonly name: "lender";
2498
+ readonly type: "address";
2499
+ }, {
2500
+ readonly internalType: "uint256";
2501
+ readonly name: "accruedInterest";
2502
+ readonly type: "uint256";
2503
+ }, {
2504
+ readonly internalType: "uint256";
2505
+ readonly name: "startTime";
2506
+ readonly type: "uint256";
2507
+ }, {
2508
+ readonly internalType: "uint256";
2509
+ readonly name: "aprBps";
2510
+ readonly type: "uint256";
2511
+ }];
2512
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
2513
+ readonly name: "tranche";
2514
+ readonly type: "tuple[]";
2515
+ }, {
2516
+ readonly internalType: "uint256";
2517
+ readonly name: "protocolFee";
2518
+ readonly type: "uint256";
2519
+ }];
2520
+ readonly internalType: "struct IMultiSourceLoan.Loan";
2521
+ readonly name: "_loan";
2522
+ readonly type: "tuple";
2523
+ }, {
2524
+ readonly internalType: "bytes";
2525
+ readonly name: "_renegotiationOfferSignature";
2526
+ readonly type: "bytes";
2527
+ }];
2528
+ readonly name: "refinanceFull";
2529
+ readonly outputs: readonly [{
2530
+ readonly internalType: "uint256";
2531
+ readonly name: "";
2532
+ readonly type: "uint256";
2533
+ }, {
2534
+ readonly components: readonly [{
2535
+ readonly internalType: "address";
2536
+ readonly name: "borrower";
2537
+ readonly type: "address";
2538
+ }, {
2539
+ readonly internalType: "uint256";
2540
+ readonly name: "nftCollateralTokenId";
2541
+ readonly type: "uint256";
2542
+ }, {
2543
+ readonly internalType: "address";
2544
+ readonly name: "nftCollateralAddress";
2545
+ readonly type: "address";
2546
+ }, {
2547
+ readonly internalType: "address";
2548
+ readonly name: "principalAddress";
2549
+ readonly type: "address";
2550
+ }, {
2551
+ readonly internalType: "uint256";
2552
+ readonly name: "principalAmount";
2553
+ readonly type: "uint256";
2554
+ }, {
2555
+ readonly internalType: "uint256";
2556
+ readonly name: "startTime";
2557
+ readonly type: "uint256";
2558
+ }, {
2559
+ readonly internalType: "uint256";
2560
+ readonly name: "duration";
2561
+ readonly type: "uint256";
2562
+ }, {
2563
+ readonly components: readonly [{
2564
+ readonly internalType: "uint256";
2565
+ readonly name: "loanId";
2566
+ readonly type: "uint256";
2567
+ }, {
2568
+ readonly internalType: "uint256";
2569
+ readonly name: "floor";
2570
+ readonly type: "uint256";
2571
+ }, {
2572
+ readonly internalType: "uint256";
2573
+ readonly name: "principalAmount";
2574
+ readonly type: "uint256";
2575
+ }, {
2576
+ readonly internalType: "address";
2577
+ readonly name: "lender";
2578
+ readonly type: "address";
2579
+ }, {
2580
+ readonly internalType: "uint256";
2581
+ readonly name: "accruedInterest";
2582
+ readonly type: "uint256";
2583
+ }, {
2584
+ readonly internalType: "uint256";
2585
+ readonly name: "startTime";
2586
+ readonly type: "uint256";
2587
+ }, {
2588
+ readonly internalType: "uint256";
2589
+ readonly name: "aprBps";
2590
+ readonly type: "uint256";
2591
+ }];
2592
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
2593
+ readonly name: "tranche";
2594
+ readonly type: "tuple[]";
2595
+ }, {
2596
+ readonly internalType: "uint256";
2597
+ readonly name: "protocolFee";
2598
+ readonly type: "uint256";
2599
+ }];
2600
+ readonly internalType: "struct IMultiSourceLoan.Loan";
2601
+ readonly name: "";
2602
+ readonly type: "tuple";
2603
+ }];
2604
+ readonly stateMutability: "nonpayable";
2605
+ readonly type: "function";
2606
+ }, {
2607
+ readonly inputs: readonly [{
2608
+ readonly components: readonly [{
2609
+ readonly internalType: "uint256";
2610
+ readonly name: "renegotiationId";
2611
+ readonly type: "uint256";
2612
+ }, {
2613
+ readonly internalType: "uint256";
2614
+ readonly name: "loanId";
2615
+ readonly type: "uint256";
2616
+ }, {
2617
+ readonly internalType: "address";
2618
+ readonly name: "lender";
2619
+ readonly type: "address";
2620
+ }, {
2621
+ readonly internalType: "uint256";
2622
+ readonly name: "fee";
2623
+ readonly type: "uint256";
2624
+ }, {
2625
+ readonly internalType: "uint256[]";
2626
+ readonly name: "trancheIndex";
2627
+ readonly type: "uint256[]";
2628
+ }, {
2629
+ readonly internalType: "uint256";
2630
+ readonly name: "principalAmount";
2631
+ readonly type: "uint256";
2632
+ }, {
2633
+ readonly internalType: "uint256";
2634
+ readonly name: "aprBps";
2635
+ readonly type: "uint256";
2636
+ }, {
2637
+ readonly internalType: "uint256";
2638
+ readonly name: "expirationTime";
2639
+ readonly type: "uint256";
2640
+ }, {
2641
+ readonly internalType: "uint256";
2642
+ readonly name: "duration";
2643
+ readonly type: "uint256";
2644
+ }];
2645
+ readonly internalType: "struct IMultiSourceLoan.RenegotiationOffer";
2646
+ readonly name: "_renegotiationOffer";
2647
+ readonly type: "tuple";
2648
+ }, {
2649
+ readonly components: readonly [{
2650
+ readonly internalType: "address";
2651
+ readonly name: "borrower";
2652
+ readonly type: "address";
2653
+ }, {
2654
+ readonly internalType: "uint256";
2655
+ readonly name: "nftCollateralTokenId";
2656
+ readonly type: "uint256";
2657
+ }, {
2658
+ readonly internalType: "address";
2659
+ readonly name: "nftCollateralAddress";
2660
+ readonly type: "address";
2661
+ }, {
2662
+ readonly internalType: "address";
2663
+ readonly name: "principalAddress";
2664
+ readonly type: "address";
2665
+ }, {
2666
+ readonly internalType: "uint256";
2667
+ readonly name: "principalAmount";
2668
+ readonly type: "uint256";
2669
+ }, {
2670
+ readonly internalType: "uint256";
2671
+ readonly name: "startTime";
2672
+ readonly type: "uint256";
2673
+ }, {
2674
+ readonly internalType: "uint256";
2675
+ readonly name: "duration";
2676
+ readonly type: "uint256";
2677
+ }, {
2678
+ readonly components: readonly [{
2679
+ readonly internalType: "uint256";
2680
+ readonly name: "loanId";
2681
+ readonly type: "uint256";
2682
+ }, {
2683
+ readonly internalType: "uint256";
2684
+ readonly name: "floor";
2685
+ readonly type: "uint256";
2686
+ }, {
2687
+ readonly internalType: "uint256";
2688
+ readonly name: "principalAmount";
2689
+ readonly type: "uint256";
2690
+ }, {
2691
+ readonly internalType: "address";
2692
+ readonly name: "lender";
2693
+ readonly type: "address";
2694
+ }, {
2695
+ readonly internalType: "uint256";
2696
+ readonly name: "accruedInterest";
2697
+ readonly type: "uint256";
2698
+ }, {
2699
+ readonly internalType: "uint256";
2700
+ readonly name: "startTime";
2701
+ readonly type: "uint256";
2702
+ }, {
2703
+ readonly internalType: "uint256";
2704
+ readonly name: "aprBps";
2705
+ readonly type: "uint256";
2706
+ }];
2707
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
2708
+ readonly name: "tranche";
2709
+ readonly type: "tuple[]";
2710
+ }, {
2711
+ readonly internalType: "uint256";
2712
+ readonly name: "protocolFee";
2713
+ readonly type: "uint256";
2714
+ }];
2715
+ readonly internalType: "struct IMultiSourceLoan.Loan";
2716
+ readonly name: "_loan";
2717
+ readonly type: "tuple";
2718
+ }];
2719
+ readonly name: "refinancePartial";
2720
+ readonly outputs: readonly [{
2721
+ readonly internalType: "uint256";
2722
+ readonly name: "";
2723
+ readonly type: "uint256";
2724
+ }, {
2725
+ readonly components: readonly [{
2726
+ readonly internalType: "address";
2727
+ readonly name: "borrower";
2728
+ readonly type: "address";
2729
+ }, {
2730
+ readonly internalType: "uint256";
2731
+ readonly name: "nftCollateralTokenId";
2732
+ readonly type: "uint256";
2733
+ }, {
2734
+ readonly internalType: "address";
2735
+ readonly name: "nftCollateralAddress";
2736
+ readonly type: "address";
2737
+ }, {
2738
+ readonly internalType: "address";
2739
+ readonly name: "principalAddress";
2740
+ readonly type: "address";
2741
+ }, {
2742
+ readonly internalType: "uint256";
2743
+ readonly name: "principalAmount";
2744
+ readonly type: "uint256";
2745
+ }, {
2746
+ readonly internalType: "uint256";
2747
+ readonly name: "startTime";
2748
+ readonly type: "uint256";
2749
+ }, {
2750
+ readonly internalType: "uint256";
2751
+ readonly name: "duration";
2752
+ readonly type: "uint256";
2753
+ }, {
2754
+ readonly components: readonly [{
2755
+ readonly internalType: "uint256";
2756
+ readonly name: "loanId";
2757
+ readonly type: "uint256";
2758
+ }, {
2759
+ readonly internalType: "uint256";
2760
+ readonly name: "floor";
2761
+ readonly type: "uint256";
2762
+ }, {
2763
+ readonly internalType: "uint256";
2764
+ readonly name: "principalAmount";
2765
+ readonly type: "uint256";
2766
+ }, {
2767
+ readonly internalType: "address";
2768
+ readonly name: "lender";
2769
+ readonly type: "address";
2770
+ }, {
2771
+ readonly internalType: "uint256";
2772
+ readonly name: "accruedInterest";
2773
+ readonly type: "uint256";
2774
+ }, {
2775
+ readonly internalType: "uint256";
2776
+ readonly name: "startTime";
2777
+ readonly type: "uint256";
2778
+ }, {
2779
+ readonly internalType: "uint256";
2780
+ readonly name: "aprBps";
2781
+ readonly type: "uint256";
2782
+ }];
2783
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
2784
+ readonly name: "tranche";
2785
+ readonly type: "tuple[]";
2786
+ }, {
2787
+ readonly internalType: "uint256";
2788
+ readonly name: "protocolFee";
2789
+ readonly type: "uint256";
2790
+ }];
2791
+ readonly internalType: "struct IMultiSourceLoan.Loan";
2792
+ readonly name: "";
2793
+ readonly type: "tuple";
2794
+ }];
2795
+ readonly stateMutability: "nonpayable";
2796
+ readonly type: "function";
2797
+ }, {
2798
+ readonly inputs: readonly [{
2799
+ readonly internalType: "address";
2800
+ readonly name: "_contract";
2801
+ readonly type: "address";
2802
+ }];
2803
+ readonly name: "removeWhitelistedCallbackContract";
2804
+ readonly outputs: readonly [];
2805
+ readonly stateMutability: "nonpayable";
2806
+ readonly type: "function";
2807
+ }, {
2808
+ readonly inputs: readonly [{
2809
+ readonly components: readonly [{
2810
+ readonly components: readonly [{
2811
+ readonly internalType: "uint256";
2812
+ readonly name: "loanId";
2813
+ readonly type: "uint256";
2814
+ }, {
2815
+ readonly internalType: "bytes";
2816
+ readonly name: "callbackData";
2817
+ readonly type: "bytes";
2818
+ }, {
2819
+ readonly internalType: "bool";
2820
+ readonly name: "shouldDelegate";
2821
+ readonly type: "bool";
2822
+ }];
2823
+ readonly internalType: "struct IMultiSourceLoan.SignableRepaymentData";
2824
+ readonly name: "data";
2825
+ readonly type: "tuple";
2826
+ }, {
2827
+ readonly components: readonly [{
2828
+ readonly internalType: "address";
2829
+ readonly name: "borrower";
2830
+ readonly type: "address";
2831
+ }, {
2832
+ readonly internalType: "uint256";
2833
+ readonly name: "nftCollateralTokenId";
2834
+ readonly type: "uint256";
2835
+ }, {
2836
+ readonly internalType: "address";
2837
+ readonly name: "nftCollateralAddress";
2838
+ readonly type: "address";
2839
+ }, {
2840
+ readonly internalType: "address";
2841
+ readonly name: "principalAddress";
2842
+ readonly type: "address";
2843
+ }, {
2844
+ readonly internalType: "uint256";
2845
+ readonly name: "principalAmount";
2846
+ readonly type: "uint256";
2847
+ }, {
2848
+ readonly internalType: "uint256";
2849
+ readonly name: "startTime";
2850
+ readonly type: "uint256";
2851
+ }, {
2852
+ readonly internalType: "uint256";
2853
+ readonly name: "duration";
2854
+ readonly type: "uint256";
2855
+ }, {
2856
+ readonly components: readonly [{
2857
+ readonly internalType: "uint256";
2858
+ readonly name: "loanId";
2859
+ readonly type: "uint256";
2860
+ }, {
2861
+ readonly internalType: "uint256";
2862
+ readonly name: "floor";
2863
+ readonly type: "uint256";
2864
+ }, {
2865
+ readonly internalType: "uint256";
2866
+ readonly name: "principalAmount";
2867
+ readonly type: "uint256";
2868
+ }, {
2869
+ readonly internalType: "address";
2870
+ readonly name: "lender";
2871
+ readonly type: "address";
2872
+ }, {
2873
+ readonly internalType: "uint256";
2874
+ readonly name: "accruedInterest";
2875
+ readonly type: "uint256";
2876
+ }, {
2877
+ readonly internalType: "uint256";
2878
+ readonly name: "startTime";
2879
+ readonly type: "uint256";
2880
+ }, {
2881
+ readonly internalType: "uint256";
2882
+ readonly name: "aprBps";
2883
+ readonly type: "uint256";
2884
+ }];
2885
+ readonly internalType: "struct IMultiSourceLoan.Tranche[]";
2886
+ readonly name: "tranche";
2887
+ readonly type: "tuple[]";
2888
+ }, {
2889
+ readonly internalType: "uint256";
2890
+ readonly name: "protocolFee";
2891
+ readonly type: "uint256";
2892
+ }];
2893
+ readonly internalType: "struct IMultiSourceLoan.Loan";
2894
+ readonly name: "loan";
2895
+ readonly type: "tuple";
2896
+ }, {
2897
+ readonly internalType: "bytes";
2898
+ readonly name: "borrowerSignature";
2899
+ readonly type: "bytes";
2900
+ }];
2901
+ readonly internalType: "struct IMultiSourceLoan.LoanRepaymentData";
2902
+ readonly name: "_repaymentData";
2903
+ readonly type: "tuple";
2904
+ }];
2905
+ readonly name: "repayLoan";
2906
+ readonly outputs: readonly [];
2907
+ readonly stateMutability: "nonpayable";
2908
+ readonly type: "function";
2909
+ }, {
2910
+ readonly inputs: readonly [{
2911
+ readonly internalType: "address";
2912
+ readonly name: "_newOwner";
2913
+ readonly type: "address";
2914
+ }];
2915
+ readonly name: "requestTransferOwner";
2916
+ readonly outputs: readonly [];
2917
+ readonly stateMutability: "nonpayable";
2918
+ readonly type: "function";
2919
+ }, {
2920
+ readonly inputs: readonly [{
2921
+ readonly internalType: "address";
2922
+ readonly name: "_delegate";
2923
+ readonly type: "address";
2924
+ }, {
2925
+ readonly internalType: "address";
2926
+ readonly name: "_collection";
2927
+ readonly type: "address";
2928
+ }, {
2929
+ readonly internalType: "uint256";
2930
+ readonly name: "_tokenId";
2931
+ readonly type: "uint256";
2932
+ }, {
2933
+ readonly internalType: "bytes32";
2934
+ readonly name: "_rights";
2935
+ readonly type: "bytes32";
2936
+ }];
2937
+ readonly name: "revokeDelegate";
2938
+ readonly outputs: readonly [];
2939
+ readonly stateMutability: "nonpayable";
2940
+ readonly type: "function";
2941
+ }, {
2942
+ readonly inputs: readonly [{
2943
+ readonly internalType: "address";
2944
+ readonly name: "_newFlashActionContract";
2945
+ readonly type: "address";
2946
+ }];
2947
+ readonly name: "setFlashActionContract";
2948
+ readonly outputs: readonly [];
2949
+ readonly stateMutability: "nonpayable";
2950
+ readonly type: "function";
2951
+ }, {
2952
+ readonly inputs: readonly [{
2953
+ readonly internalType: "uint256";
2954
+ readonly name: "__minLockPeriod";
2955
+ readonly type: "uint256";
2956
+ }];
2957
+ readonly name: "setMinLockPeriod";
2958
+ readonly outputs: readonly [];
2959
+ readonly stateMutability: "nonpayable";
2960
+ readonly type: "function";
2961
+ }, {
2962
+ readonly inputs: readonly [];
2963
+ readonly name: "setProtocolFee";
2964
+ readonly outputs: readonly [];
2965
+ readonly stateMutability: "nonpayable";
2966
+ readonly type: "function";
2967
+ }, {
2968
+ readonly inputs: readonly [];
2969
+ readonly name: "transferOwnership";
2970
+ readonly outputs: readonly [];
2971
+ readonly stateMutability: "nonpayable";
2972
+ readonly type: "function";
2973
+ }, {
2974
+ readonly inputs: readonly [{
2975
+ readonly internalType: "address";
2976
+ readonly name: "newOwner";
2977
+ readonly type: "address";
2978
+ }];
2979
+ readonly name: "transferOwnership";
2980
+ readonly outputs: readonly [];
2981
+ readonly stateMutability: "nonpayable";
2982
+ readonly type: "function";
2983
+ }, {
2984
+ readonly inputs: readonly [{
2985
+ readonly internalType: "uint48";
2986
+ readonly name: "_newDuration";
2987
+ readonly type: "uint48";
2988
+ }];
2989
+ readonly name: "updateLiquidationAuctionDuration";
2990
+ readonly outputs: readonly [];
2991
+ readonly stateMutability: "nonpayable";
2992
+ readonly type: "function";
2993
+ }, {
2994
+ readonly inputs: readonly [{
2995
+ readonly internalType: "address";
2996
+ readonly name: "__loanLiquidator";
2997
+ readonly type: "address";
2998
+ }];
2999
+ readonly name: "updateLiquidationContract";
3000
+ readonly outputs: readonly [];
3001
+ readonly stateMutability: "nonpayable";
3002
+ readonly type: "function";
3003
+ }, {
3004
+ readonly inputs: readonly [{
3005
+ readonly internalType: "uint256";
3006
+ readonly name: "_newMinimum";
3007
+ readonly type: "uint256";
3008
+ }];
3009
+ readonly name: "updateMinImprovementApr";
3010
+ readonly outputs: readonly [];
3011
+ readonly stateMutability: "nonpayable";
3012
+ readonly type: "function";
3013
+ }, {
3014
+ readonly inputs: readonly [{
3015
+ readonly components: readonly [{
3016
+ readonly internalType: "address";
3017
+ readonly name: "recipient";
3018
+ readonly type: "address";
3019
+ }, {
3020
+ readonly internalType: "uint256";
3021
+ readonly name: "fraction";
3022
+ readonly type: "uint256";
3023
+ }];
3024
+ readonly internalType: "struct WithProtocolFee.ProtocolFee";
3025
+ readonly name: "_newProtocolFee";
3026
+ readonly type: "tuple";
3027
+ }];
3028
+ readonly name: "updateProtocolFee";
3029
+ readonly outputs: readonly [];
3030
+ readonly stateMutability: "nonpayable";
3031
+ readonly type: "function";
3032
+ }];
3033
+ /**
3034
+ * Type-safe ABI for MultiSourceLoan_json
3035
+ */
3036
+ export type MultiSourceLoan_jsonAbi = typeof MultiSourceLoan_jsonAbi;
3037
+ /**
3038
+ * Contract instance type for MultiSourceLoan_json
3039
+ */
3040
+ export type MultiSourceLoan_jsonContract = any;
3041
+ /**
3042
+ * MultiSourceLoan_json Contract Class
3043
+ *
3044
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
3045
+ *
3046
+ * @example
3047
+ * ```typescript
3048
+ * import { createPublicClient, createWalletClient, http } from 'viem';
3049
+ * import { mainnet } from 'viem/chains';
3050
+ * import { MultiSourceLoan_json } from 'MultiSourceLoan_json';
3051
+ *
3052
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
3053
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
3054
+ *
3055
+ * const contract = new MultiSourceLoan_json('0x...', { publicClient, walletClient });
3056
+ *
3057
+ * // Read functions
3058
+ * const result = await contract.balanceOf('0x...');
3059
+ *
3060
+ * // Write functions
3061
+ * const hash = await contract.transfer('0x...', 1000n);
3062
+ *
3063
+ * // Simulate transactions (dry-run)
3064
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
3065
+ * console.log('Gas estimate:', simulation.request.gas);
3066
+ *
3067
+ * // Watch events
3068
+ * const unwatch = contract.watch.Transfer((event) => {
3069
+ * console.log('Transfer event:', event);
3070
+ * });
3071
+ * ```
3072
+ */
3073
+ export declare class MultiSourceLoan_json {
3074
+ private contract;
3075
+ private contractAddress;
3076
+ private publicClient;
3077
+ constructor(address: Address, clients: {
3078
+ publicClient: PublicClient;
3079
+ walletClient?: WalletClient;
3080
+ });
3081
+ /**
3082
+ * Get the contract address
3083
+ */
3084
+ get address(): Address;
3085
+ /**
3086
+ * Get the underlying viem contract instance
3087
+ */
3088
+ getContract(): MultiSourceLoan_jsonContract;
3089
+ /**
3090
+ * DOMAIN_SEPARATOR
3091
+ * view
3092
+ */
3093
+ DOMAIN_SEPARATOR(): Promise<`0x${string}`>;
3094
+ /**
3095
+ * FEE_UPDATE_NOTICE
3096
+ * view
3097
+ */
3098
+ FEE_UPDATE_NOTICE(): Promise<bigint>;
3099
+ /**
3100
+ * INITIAL_DOMAIN_SEPARATOR
3101
+ * view
3102
+ */
3103
+ INITIAL_DOMAIN_SEPARATOR(): Promise<`0x${string}`>;
3104
+ /**
3105
+ * MAX_AUCTION_DURATION
3106
+ * view
3107
+ */
3108
+ MAX_AUCTION_DURATION(): Promise<bigint>;
3109
+ /**
3110
+ * MIN_AUCTION_DURATION
3111
+ * view
3112
+ */
3113
+ MIN_AUCTION_DURATION(): Promise<bigint>;
3114
+ /**
3115
+ * MIN_BID_LIQUIDATION
3116
+ * view
3117
+ */
3118
+ MIN_BID_LIQUIDATION(): Promise<bigint>;
3119
+ /**
3120
+ * MIN_WAIT_TIME
3121
+ * view
3122
+ */
3123
+ MIN_WAIT_TIME(): Promise<bigint>;
3124
+ /**
3125
+ * VERSION
3126
+ * view
3127
+ */
3128
+ VERSION(): Promise<`0x${string}`>;
3129
+ /**
3130
+ * getCollectionManager
3131
+ * view
3132
+ */
3133
+ getCollectionManager(): Promise<`0x${string}`>;
3134
+ /**
3135
+ * getCurrencyManager
3136
+ * view
3137
+ */
3138
+ getCurrencyManager(): Promise<`0x${string}`>;
3139
+ /**
3140
+ * getDelegateRegistry
3141
+ * view
3142
+ */
3143
+ getDelegateRegistry(): Promise<`0x${string}`>;
3144
+ /**
3145
+ * getFlashActionContract
3146
+ * view
3147
+ */
3148
+ getFlashActionContract(): Promise<`0x${string}`>;
3149
+ /**
3150
+ * getLiquidationAuctionDuration
3151
+ * view
3152
+ */
3153
+ getLiquidationAuctionDuration(): Promise<bigint>;
3154
+ /**
3155
+ * getLiquidator
3156
+ * view
3157
+ */
3158
+ getLiquidator(): Promise<`0x${string}`>;
3159
+ /**
3160
+ * getLoanHash
3161
+ * view
3162
+ */
3163
+ getLoanHash(_loanId: bigint): Promise<`0x${string}`>;
3164
+ /**
3165
+ * getLoanManagerRegistry
3166
+ * view
3167
+ */
3168
+ getLoanManagerRegistry(): Promise<`0x${string}`>;
3169
+ /**
3170
+ * getMaxTranches
3171
+ * view
3172
+ */
3173
+ getMaxTranches(): Promise<bigint>;
3174
+ /**
3175
+ * getMinImprovementApr
3176
+ * view
3177
+ */
3178
+ getMinImprovementApr(): Promise<bigint>;
3179
+ /**
3180
+ * getMinLockPeriod
3181
+ * view
3182
+ */
3183
+ getMinLockPeriod(): Promise<bigint>;
3184
+ /**
3185
+ * getPendingProtocolFee
3186
+ * view
3187
+ */
3188
+ getPendingProtocolFee(): Promise<WithProtocolFee_ProtocolFee>;
3189
+ /**
3190
+ * getPendingProtocolFeeSetTime
3191
+ * view
3192
+ */
3193
+ getPendingProtocolFeeSetTime(): Promise<bigint>;
3194
+ /**
3195
+ * getProtocolFee
3196
+ * view
3197
+ */
3198
+ getProtocolFee(): Promise<WithProtocolFee_ProtocolFee>;
3199
+ /**
3200
+ * getTotalLoansIssued
3201
+ * view
3202
+ */
3203
+ getTotalLoansIssued(): Promise<bigint>;
3204
+ /**
3205
+ * getUsedCapacity
3206
+ * view
3207
+ */
3208
+ getUsedCapacity(_lender: `0x${string}`, _offerId: bigint): Promise<bigint>;
3209
+ /**
3210
+ * isOfferCancelled
3211
+ * view
3212
+ */
3213
+ isOfferCancelled(user: `0x${string}`, offerId: bigint): Promise<boolean>;
3214
+ /**
3215
+ * isRenegotiationOfferCancelled
3216
+ * view
3217
+ */
3218
+ isRenegotiationOfferCancelled(user: `0x${string}`, renegotiationIf: bigint): Promise<boolean>;
3219
+ /**
3220
+ * isWhitelistedCallbackContract
3221
+ * view
3222
+ */
3223
+ isWhitelistedCallbackContract(_contract: `0x${string}`): Promise<boolean>;
3224
+ /**
3225
+ * name
3226
+ * view
3227
+ */
3228
+ name(): Promise<string>;
3229
+ /**
3230
+ * owner
3231
+ * view
3232
+ */
3233
+ owner(): Promise<`0x${string}`>;
3234
+ /**
3235
+ * pendingOwner
3236
+ * view
3237
+ */
3238
+ pendingOwner(): Promise<`0x${string}`>;
3239
+ /**
3240
+ * pendingOwnerTime
3241
+ * view
3242
+ */
3243
+ pendingOwnerTime(): Promise<bigint>;
3244
+ /**
3245
+ * addNewTranche
3246
+ * nonpayable
3247
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3248
+ */
3249
+ addNewTranche(_renegotiationOffer: IMultiSourceLoan_RenegotiationOffer, _loan: IMultiSourceLoan_Loan, _renegotiationOfferSignature: `0x${string}`, options?: {
3250
+ accessList?: import('viem').AccessList;
3251
+ authorizationList?: import('viem').AuthorizationList;
3252
+ chain?: import('viem').Chain | null;
3253
+ dataSuffix?: `0x${string}`;
3254
+ gas?: bigint;
3255
+ gasPrice?: bigint;
3256
+ maxFeePerGas?: bigint;
3257
+ maxPriorityFeePerGas?: bigint;
3258
+ nonce?: number;
3259
+ value?: bigint;
3260
+ }): Promise<`0x${string}`>;
3261
+ /**
3262
+ * addWhitelistedCallbackContract
3263
+ * nonpayable
3264
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3265
+ */
3266
+ addWhitelistedCallbackContract(_contract: `0x${string}`, options?: {
3267
+ accessList?: import('viem').AccessList;
3268
+ authorizationList?: import('viem').AuthorizationList;
3269
+ chain?: import('viem').Chain | null;
3270
+ dataSuffix?: `0x${string}`;
3271
+ gas?: bigint;
3272
+ gasPrice?: bigint;
3273
+ maxFeePerGas?: bigint;
3274
+ maxPriorityFeePerGas?: bigint;
3275
+ nonce?: number;
3276
+ value?: bigint;
3277
+ }): Promise<`0x${string}`>;
3278
+ /**
3279
+ * cancelOffer
3280
+ * nonpayable
3281
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3282
+ */
3283
+ cancelOffer(_offerId: bigint, options?: {
3284
+ accessList?: import('viem').AccessList;
3285
+ authorizationList?: import('viem').AuthorizationList;
3286
+ chain?: import('viem').Chain | null;
3287
+ dataSuffix?: `0x${string}`;
3288
+ gas?: bigint;
3289
+ gasPrice?: bigint;
3290
+ maxFeePerGas?: bigint;
3291
+ maxPriorityFeePerGas?: bigint;
3292
+ nonce?: number;
3293
+ value?: bigint;
3294
+ }): Promise<`0x${string}`>;
3295
+ /**
3296
+ * cancelRenegotiationOffer
3297
+ * nonpayable
3298
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3299
+ */
3300
+ cancelRenegotiationOffer(_renegotiationId: bigint, options?: {
3301
+ accessList?: import('viem').AccessList;
3302
+ authorizationList?: import('viem').AuthorizationList;
3303
+ chain?: import('viem').Chain | null;
3304
+ dataSuffix?: `0x${string}`;
3305
+ gas?: bigint;
3306
+ gasPrice?: bigint;
3307
+ maxFeePerGas?: bigint;
3308
+ maxPriorityFeePerGas?: bigint;
3309
+ nonce?: number;
3310
+ value?: bigint;
3311
+ }): Promise<`0x${string}`>;
3312
+ /**
3313
+ * delegate
3314
+ * nonpayable
3315
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3316
+ */
3317
+ delegate(_loanId: bigint, loan: IMultiSourceLoan_Loan, _delegate: `0x${string}`, _rights: `0x${string}`, _value: boolean, options?: {
3318
+ accessList?: import('viem').AccessList;
3319
+ authorizationList?: import('viem').AuthorizationList;
3320
+ chain?: import('viem').Chain | null;
3321
+ dataSuffix?: `0x${string}`;
3322
+ gas?: bigint;
3323
+ gasPrice?: bigint;
3324
+ maxFeePerGas?: bigint;
3325
+ maxPriorityFeePerGas?: bigint;
3326
+ nonce?: number;
3327
+ value?: bigint;
3328
+ }): Promise<`0x${string}`>;
3329
+ /**
3330
+ * emitLoan
3331
+ * nonpayable
3332
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3333
+ */
3334
+ emitLoan(_loanExecutionData: IMultiSourceLoan_LoanExecutionData, options?: {
3335
+ accessList?: import('viem').AccessList;
3336
+ authorizationList?: import('viem').AuthorizationList;
3337
+ chain?: import('viem').Chain | null;
3338
+ dataSuffix?: `0x${string}`;
3339
+ gas?: bigint;
3340
+ gasPrice?: bigint;
3341
+ maxFeePerGas?: bigint;
3342
+ maxPriorityFeePerGas?: bigint;
3343
+ nonce?: number;
3344
+ value?: bigint;
3345
+ }): Promise<`0x${string}`>;
3346
+ /**
3347
+ * executeFlashAction
3348
+ * nonpayable
3349
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3350
+ */
3351
+ executeFlashAction(_loanId: bigint, _loan: IMultiSourceLoan_Loan, _target: `0x${string}`, _data: `0x${string}`, options?: {
3352
+ accessList?: import('viem').AccessList;
3353
+ authorizationList?: import('viem').AuthorizationList;
3354
+ chain?: import('viem').Chain | null;
3355
+ dataSuffix?: `0x${string}`;
3356
+ gas?: bigint;
3357
+ gasPrice?: bigint;
3358
+ maxFeePerGas?: bigint;
3359
+ maxPriorityFeePerGas?: bigint;
3360
+ nonce?: number;
3361
+ value?: bigint;
3362
+ }): Promise<`0x${string}`>;
3363
+ /**
3364
+ * liquidateLoan
3365
+ * nonpayable
3366
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3367
+ */
3368
+ liquidateLoan(_loanId: bigint, _loan: IMultiSourceLoan_Loan, options?: {
3369
+ accessList?: import('viem').AccessList;
3370
+ authorizationList?: import('viem').AuthorizationList;
3371
+ chain?: import('viem').Chain | null;
3372
+ dataSuffix?: `0x${string}`;
3373
+ gas?: bigint;
3374
+ gasPrice?: bigint;
3375
+ maxFeePerGas?: bigint;
3376
+ maxPriorityFeePerGas?: bigint;
3377
+ nonce?: number;
3378
+ value?: bigint;
3379
+ }): Promise<`0x${string}`>;
3380
+ /**
3381
+ * loanLiquidated
3382
+ * nonpayable
3383
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3384
+ */
3385
+ loanLiquidated(_loanId: bigint, _loan: IMultiSourceLoan_Loan, options?: {
3386
+ accessList?: import('viem').AccessList;
3387
+ authorizationList?: import('viem').AuthorizationList;
3388
+ chain?: import('viem').Chain | null;
3389
+ dataSuffix?: `0x${string}`;
3390
+ gas?: bigint;
3391
+ gasPrice?: bigint;
3392
+ maxFeePerGas?: bigint;
3393
+ maxPriorityFeePerGas?: bigint;
3394
+ nonce?: number;
3395
+ value?: bigint;
3396
+ }): Promise<`0x${string}`>;
3397
+ /**
3398
+ * multicall
3399
+ * payable
3400
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3401
+ */
3402
+ multicall(data: `0x${string}`[], options?: {
3403
+ accessList?: import('viem').AccessList;
3404
+ authorizationList?: import('viem').AuthorizationList;
3405
+ chain?: import('viem').Chain | null;
3406
+ dataSuffix?: `0x${string}`;
3407
+ gas?: bigint;
3408
+ gasPrice?: bigint;
3409
+ maxFeePerGas?: bigint;
3410
+ maxPriorityFeePerGas?: bigint;
3411
+ nonce?: number;
3412
+ value?: bigint;
3413
+ }): Promise<`0x${string}`>;
3414
+ /**
3415
+ * onERC721Received
3416
+ * nonpayable
3417
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3418
+ */
3419
+ onERC721Received(arg0: `0x${string}`, arg1: `0x${string}`, arg2: bigint, arg3: `0x${string}`, options?: {
3420
+ accessList?: import('viem').AccessList;
3421
+ authorizationList?: import('viem').AuthorizationList;
3422
+ chain?: import('viem').Chain | null;
3423
+ dataSuffix?: `0x${string}`;
3424
+ gas?: bigint;
3425
+ gasPrice?: bigint;
3426
+ maxFeePerGas?: bigint;
3427
+ maxPriorityFeePerGas?: bigint;
3428
+ nonce?: number;
3429
+ value?: bigint;
3430
+ }): Promise<`0x${string}`>;
3431
+ /**
3432
+ * refinanceFromLoanExecutionData
3433
+ * nonpayable
3434
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3435
+ */
3436
+ refinanceFromLoanExecutionData(_loanId: bigint, _loan: IMultiSourceLoan_Loan, _loanExecutionData: IMultiSourceLoan_LoanExecutionData, options?: {
3437
+ accessList?: import('viem').AccessList;
3438
+ authorizationList?: import('viem').AuthorizationList;
3439
+ chain?: import('viem').Chain | null;
3440
+ dataSuffix?: `0x${string}`;
3441
+ gas?: bigint;
3442
+ gasPrice?: bigint;
3443
+ maxFeePerGas?: bigint;
3444
+ maxPriorityFeePerGas?: bigint;
3445
+ nonce?: number;
3446
+ value?: bigint;
3447
+ }): Promise<`0x${string}`>;
3448
+ /**
3449
+ * refinanceFull
3450
+ * nonpayable
3451
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3452
+ */
3453
+ refinanceFull(_renegotiationOffer: IMultiSourceLoan_RenegotiationOffer, _loan: IMultiSourceLoan_Loan, _renegotiationOfferSignature: `0x${string}`, options?: {
3454
+ accessList?: import('viem').AccessList;
3455
+ authorizationList?: import('viem').AuthorizationList;
3456
+ chain?: import('viem').Chain | null;
3457
+ dataSuffix?: `0x${string}`;
3458
+ gas?: bigint;
3459
+ gasPrice?: bigint;
3460
+ maxFeePerGas?: bigint;
3461
+ maxPriorityFeePerGas?: bigint;
3462
+ nonce?: number;
3463
+ value?: bigint;
3464
+ }): Promise<`0x${string}`>;
3465
+ /**
3466
+ * refinancePartial
3467
+ * nonpayable
3468
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3469
+ */
3470
+ refinancePartial(_renegotiationOffer: IMultiSourceLoan_RenegotiationOffer, _loan: IMultiSourceLoan_Loan, options?: {
3471
+ accessList?: import('viem').AccessList;
3472
+ authorizationList?: import('viem').AuthorizationList;
3473
+ chain?: import('viem').Chain | null;
3474
+ dataSuffix?: `0x${string}`;
3475
+ gas?: bigint;
3476
+ gasPrice?: bigint;
3477
+ maxFeePerGas?: bigint;
3478
+ maxPriorityFeePerGas?: bigint;
3479
+ nonce?: number;
3480
+ value?: bigint;
3481
+ }): Promise<`0x${string}`>;
3482
+ /**
3483
+ * removeWhitelistedCallbackContract
3484
+ * nonpayable
3485
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3486
+ */
3487
+ removeWhitelistedCallbackContract(_contract: `0x${string}`, options?: {
3488
+ accessList?: import('viem').AccessList;
3489
+ authorizationList?: import('viem').AuthorizationList;
3490
+ chain?: import('viem').Chain | null;
3491
+ dataSuffix?: `0x${string}`;
3492
+ gas?: bigint;
3493
+ gasPrice?: bigint;
3494
+ maxFeePerGas?: bigint;
3495
+ maxPriorityFeePerGas?: bigint;
3496
+ nonce?: number;
3497
+ value?: bigint;
3498
+ }): Promise<`0x${string}`>;
3499
+ /**
3500
+ * repayLoan
3501
+ * nonpayable
3502
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3503
+ */
3504
+ repayLoan(_repaymentData: IMultiSourceLoan_LoanRepaymentData, options?: {
3505
+ accessList?: import('viem').AccessList;
3506
+ authorizationList?: import('viem').AuthorizationList;
3507
+ chain?: import('viem').Chain | null;
3508
+ dataSuffix?: `0x${string}`;
3509
+ gas?: bigint;
3510
+ gasPrice?: bigint;
3511
+ maxFeePerGas?: bigint;
3512
+ maxPriorityFeePerGas?: bigint;
3513
+ nonce?: number;
3514
+ value?: bigint;
3515
+ }): Promise<`0x${string}`>;
3516
+ /**
3517
+ * requestTransferOwner
3518
+ * nonpayable
3519
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3520
+ */
3521
+ requestTransferOwner(_newOwner: `0x${string}`, options?: {
3522
+ accessList?: import('viem').AccessList;
3523
+ authorizationList?: import('viem').AuthorizationList;
3524
+ chain?: import('viem').Chain | null;
3525
+ dataSuffix?: `0x${string}`;
3526
+ gas?: bigint;
3527
+ gasPrice?: bigint;
3528
+ maxFeePerGas?: bigint;
3529
+ maxPriorityFeePerGas?: bigint;
3530
+ nonce?: number;
3531
+ value?: bigint;
3532
+ }): Promise<`0x${string}`>;
3533
+ /**
3534
+ * revokeDelegate
3535
+ * nonpayable
3536
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3537
+ */
3538
+ revokeDelegate(_delegate: `0x${string}`, _collection: `0x${string}`, _tokenId: bigint, _rights: `0x${string}`, options?: {
3539
+ accessList?: import('viem').AccessList;
3540
+ authorizationList?: import('viem').AuthorizationList;
3541
+ chain?: import('viem').Chain | null;
3542
+ dataSuffix?: `0x${string}`;
3543
+ gas?: bigint;
3544
+ gasPrice?: bigint;
3545
+ maxFeePerGas?: bigint;
3546
+ maxPriorityFeePerGas?: bigint;
3547
+ nonce?: number;
3548
+ value?: bigint;
3549
+ }): Promise<`0x${string}`>;
3550
+ /**
3551
+ * setFlashActionContract
3552
+ * nonpayable
3553
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3554
+ */
3555
+ setFlashActionContract(_newFlashActionContract: `0x${string}`, options?: {
3556
+ accessList?: import('viem').AccessList;
3557
+ authorizationList?: import('viem').AuthorizationList;
3558
+ chain?: import('viem').Chain | null;
3559
+ dataSuffix?: `0x${string}`;
3560
+ gas?: bigint;
3561
+ gasPrice?: bigint;
3562
+ maxFeePerGas?: bigint;
3563
+ maxPriorityFeePerGas?: bigint;
3564
+ nonce?: number;
3565
+ value?: bigint;
3566
+ }): Promise<`0x${string}`>;
3567
+ /**
3568
+ * setMinLockPeriod
3569
+ * nonpayable
3570
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3571
+ */
3572
+ setMinLockPeriod(__minLockPeriod: bigint, options?: {
3573
+ accessList?: import('viem').AccessList;
3574
+ authorizationList?: import('viem').AuthorizationList;
3575
+ chain?: import('viem').Chain | null;
3576
+ dataSuffix?: `0x${string}`;
3577
+ gas?: bigint;
3578
+ gasPrice?: bigint;
3579
+ maxFeePerGas?: bigint;
3580
+ maxPriorityFeePerGas?: bigint;
3581
+ nonce?: number;
3582
+ value?: bigint;
3583
+ }): Promise<`0x${string}`>;
3584
+ /**
3585
+ * setProtocolFee
3586
+ * nonpayable
3587
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3588
+ */
3589
+ setProtocolFee(options?: {
3590
+ accessList?: import('viem').AccessList;
3591
+ authorizationList?: import('viem').AuthorizationList;
3592
+ chain?: import('viem').Chain | null;
3593
+ dataSuffix?: `0x${string}`;
3594
+ gas?: bigint;
3595
+ gasPrice?: bigint;
3596
+ maxFeePerGas?: bigint;
3597
+ maxPriorityFeePerGas?: bigint;
3598
+ nonce?: number;
3599
+ value?: bigint;
3600
+ }): Promise<`0x${string}`>;
3601
+ transferOwnership(options?: {
3602
+ accessList?: import('viem').AccessList;
3603
+ authorizationList?: import('viem').AuthorizationList;
3604
+ chain?: import('viem').Chain | null;
3605
+ dataSuffix?: `0x${string}`;
3606
+ gas?: bigint;
3607
+ gasPrice?: bigint;
3608
+ maxFeePerGas?: bigint;
3609
+ maxPriorityFeePerGas?: bigint;
3610
+ nonce?: number;
3611
+ value?: bigint;
3612
+ }): Promise<`0x${string}`>;
3613
+ transferOwnership(newOwner: `0x${string}`, options?: {
3614
+ accessList?: import('viem').AccessList;
3615
+ authorizationList?: import('viem').AuthorizationList;
3616
+ chain?: import('viem').Chain | null;
3617
+ dataSuffix?: `0x${string}`;
3618
+ gas?: bigint;
3619
+ gasPrice?: bigint;
3620
+ maxFeePerGas?: bigint;
3621
+ maxPriorityFeePerGas?: bigint;
3622
+ nonce?: number;
3623
+ value?: bigint;
3624
+ }): Promise<`0x${string}`>;
3625
+ /**
3626
+ * updateLiquidationAuctionDuration
3627
+ * nonpayable
3628
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3629
+ */
3630
+ updateLiquidationAuctionDuration(_newDuration: bigint, options?: {
3631
+ accessList?: import('viem').AccessList;
3632
+ authorizationList?: import('viem').AuthorizationList;
3633
+ chain?: import('viem').Chain | null;
3634
+ dataSuffix?: `0x${string}`;
3635
+ gas?: bigint;
3636
+ gasPrice?: bigint;
3637
+ maxFeePerGas?: bigint;
3638
+ maxPriorityFeePerGas?: bigint;
3639
+ nonce?: number;
3640
+ value?: bigint;
3641
+ }): Promise<`0x${string}`>;
3642
+ /**
3643
+ * updateLiquidationContract
3644
+ * nonpayable
3645
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3646
+ */
3647
+ updateLiquidationContract(__loanLiquidator: `0x${string}`, options?: {
3648
+ accessList?: import('viem').AccessList;
3649
+ authorizationList?: import('viem').AuthorizationList;
3650
+ chain?: import('viem').Chain | null;
3651
+ dataSuffix?: `0x${string}`;
3652
+ gas?: bigint;
3653
+ gasPrice?: bigint;
3654
+ maxFeePerGas?: bigint;
3655
+ maxPriorityFeePerGas?: bigint;
3656
+ nonce?: number;
3657
+ value?: bigint;
3658
+ }): Promise<`0x${string}`>;
3659
+ /**
3660
+ * updateMinImprovementApr
3661
+ * nonpayable
3662
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3663
+ */
3664
+ updateMinImprovementApr(_newMinimum: bigint, options?: {
3665
+ accessList?: import('viem').AccessList;
3666
+ authorizationList?: import('viem').AuthorizationList;
3667
+ chain?: import('viem').Chain | null;
3668
+ dataSuffix?: `0x${string}`;
3669
+ gas?: bigint;
3670
+ gasPrice?: bigint;
3671
+ maxFeePerGas?: bigint;
3672
+ maxPriorityFeePerGas?: bigint;
3673
+ nonce?: number;
3674
+ value?: bigint;
3675
+ }): Promise<`0x${string}`>;
3676
+ /**
3677
+ * updateProtocolFee
3678
+ * nonpayable
3679
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3680
+ */
3681
+ updateProtocolFee(_newProtocolFee: WithProtocolFee_ProtocolFee, options?: {
3682
+ accessList?: import('viem').AccessList;
3683
+ authorizationList?: import('viem').AuthorizationList;
3684
+ chain?: import('viem').Chain | null;
3685
+ dataSuffix?: `0x${string}`;
3686
+ gas?: bigint;
3687
+ gasPrice?: bigint;
3688
+ maxFeePerGas?: bigint;
3689
+ maxPriorityFeePerGas?: bigint;
3690
+ nonce?: number;
3691
+ value?: bigint;
3692
+ }): Promise<`0x${string}`>;
3693
+ /**
3694
+ * Simulate contract write operations (dry-run without sending transaction)
3695
+ *
3696
+ * @example
3697
+ * const result = await contract.simulate.transfer('0x...', 1000n);
3698
+ * console.log('Gas estimate:', result.request.gas);
3699
+ * console.log('Would succeed:', result.result);
3700
+ */
3701
+ get simulate(): {
3702
+ /**
3703
+ * Simulate addNewTranche
3704
+ * Returns gas estimate and result without sending transaction
3705
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3706
+ */
3707
+ addNewTranche(_renegotiationOffer: IMultiSourceLoan_RenegotiationOffer, _loan: IMultiSourceLoan_Loan, _renegotiationOfferSignature: `0x${string}`, options?: {
3708
+ accessList?: import("viem").AccessList;
3709
+ authorizationList?: import("viem").AuthorizationList;
3710
+ chain?: import("viem").Chain | null;
3711
+ dataSuffix?: `0x${string}`;
3712
+ gas?: bigint;
3713
+ gasPrice?: bigint;
3714
+ maxFeePerGas?: bigint;
3715
+ maxPriorityFeePerGas?: bigint;
3716
+ nonce?: number;
3717
+ value?: bigint;
3718
+ }): Promise<[bigint, IMultiSourceLoan_Loan]>;
3719
+ /**
3720
+ * Simulate addWhitelistedCallbackContract
3721
+ * Returns gas estimate and result without sending transaction
3722
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3723
+ */
3724
+ addWhitelistedCallbackContract(_contract: `0x${string}`, options?: {
3725
+ accessList?: import("viem").AccessList;
3726
+ authorizationList?: import("viem").AuthorizationList;
3727
+ chain?: import("viem").Chain | null;
3728
+ dataSuffix?: `0x${string}`;
3729
+ gas?: bigint;
3730
+ gasPrice?: bigint;
3731
+ maxFeePerGas?: bigint;
3732
+ maxPriorityFeePerGas?: bigint;
3733
+ nonce?: number;
3734
+ value?: bigint;
3735
+ }): Promise<void>;
3736
+ /**
3737
+ * Simulate cancelOffer
3738
+ * Returns gas estimate and result without sending transaction
3739
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3740
+ */
3741
+ cancelOffer(_offerId: bigint, options?: {
3742
+ accessList?: import("viem").AccessList;
3743
+ authorizationList?: import("viem").AuthorizationList;
3744
+ chain?: import("viem").Chain | null;
3745
+ dataSuffix?: `0x${string}`;
3746
+ gas?: bigint;
3747
+ gasPrice?: bigint;
3748
+ maxFeePerGas?: bigint;
3749
+ maxPriorityFeePerGas?: bigint;
3750
+ nonce?: number;
3751
+ value?: bigint;
3752
+ }): Promise<void>;
3753
+ /**
3754
+ * Simulate cancelRenegotiationOffer
3755
+ * Returns gas estimate and result without sending transaction
3756
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3757
+ */
3758
+ cancelRenegotiationOffer(_renegotiationId: bigint, options?: {
3759
+ accessList?: import("viem").AccessList;
3760
+ authorizationList?: import("viem").AuthorizationList;
3761
+ chain?: import("viem").Chain | null;
3762
+ dataSuffix?: `0x${string}`;
3763
+ gas?: bigint;
3764
+ gasPrice?: bigint;
3765
+ maxFeePerGas?: bigint;
3766
+ maxPriorityFeePerGas?: bigint;
3767
+ nonce?: number;
3768
+ value?: bigint;
3769
+ }): Promise<void>;
3770
+ /**
3771
+ * Simulate delegate
3772
+ * Returns gas estimate and result without sending transaction
3773
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3774
+ */
3775
+ delegate(_loanId: bigint, loan: IMultiSourceLoan_Loan, _delegate: `0x${string}`, _rights: `0x${string}`, _value: boolean, options?: {
3776
+ accessList?: import("viem").AccessList;
3777
+ authorizationList?: import("viem").AuthorizationList;
3778
+ chain?: import("viem").Chain | null;
3779
+ dataSuffix?: `0x${string}`;
3780
+ gas?: bigint;
3781
+ gasPrice?: bigint;
3782
+ maxFeePerGas?: bigint;
3783
+ maxPriorityFeePerGas?: bigint;
3784
+ nonce?: number;
3785
+ value?: bigint;
3786
+ }): Promise<void>;
3787
+ /**
3788
+ * Simulate emitLoan
3789
+ * Returns gas estimate and result without sending transaction
3790
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3791
+ */
3792
+ emitLoan(_loanExecutionData: IMultiSourceLoan_LoanExecutionData, options?: {
3793
+ accessList?: import("viem").AccessList;
3794
+ authorizationList?: import("viem").AuthorizationList;
3795
+ chain?: import("viem").Chain | null;
3796
+ dataSuffix?: `0x${string}`;
3797
+ gas?: bigint;
3798
+ gasPrice?: bigint;
3799
+ maxFeePerGas?: bigint;
3800
+ maxPriorityFeePerGas?: bigint;
3801
+ nonce?: number;
3802
+ value?: bigint;
3803
+ }): Promise<[bigint, IMultiSourceLoan_Loan]>;
3804
+ /**
3805
+ * Simulate executeFlashAction
3806
+ * Returns gas estimate and result without sending transaction
3807
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3808
+ */
3809
+ executeFlashAction(_loanId: bigint, _loan: IMultiSourceLoan_Loan, _target: `0x${string}`, _data: `0x${string}`, options?: {
3810
+ accessList?: import("viem").AccessList;
3811
+ authorizationList?: import("viem").AuthorizationList;
3812
+ chain?: import("viem").Chain | null;
3813
+ dataSuffix?: `0x${string}`;
3814
+ gas?: bigint;
3815
+ gasPrice?: bigint;
3816
+ maxFeePerGas?: bigint;
3817
+ maxPriorityFeePerGas?: bigint;
3818
+ nonce?: number;
3819
+ value?: bigint;
3820
+ }): Promise<void>;
3821
+ /**
3822
+ * Simulate liquidateLoan
3823
+ * Returns gas estimate and result without sending transaction
3824
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3825
+ */
3826
+ liquidateLoan(_loanId: bigint, _loan: IMultiSourceLoan_Loan, options?: {
3827
+ accessList?: import("viem").AccessList;
3828
+ authorizationList?: import("viem").AuthorizationList;
3829
+ chain?: import("viem").Chain | null;
3830
+ dataSuffix?: `0x${string}`;
3831
+ gas?: bigint;
3832
+ gasPrice?: bigint;
3833
+ maxFeePerGas?: bigint;
3834
+ maxPriorityFeePerGas?: bigint;
3835
+ nonce?: number;
3836
+ value?: bigint;
3837
+ }): Promise<`0x${string}`>;
3838
+ /**
3839
+ * Simulate loanLiquidated
3840
+ * Returns gas estimate and result without sending transaction
3841
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3842
+ */
3843
+ loanLiquidated(_loanId: bigint, _loan: IMultiSourceLoan_Loan, options?: {
3844
+ accessList?: import("viem").AccessList;
3845
+ authorizationList?: import("viem").AuthorizationList;
3846
+ chain?: import("viem").Chain | null;
3847
+ dataSuffix?: `0x${string}`;
3848
+ gas?: bigint;
3849
+ gasPrice?: bigint;
3850
+ maxFeePerGas?: bigint;
3851
+ maxPriorityFeePerGas?: bigint;
3852
+ nonce?: number;
3853
+ value?: bigint;
3854
+ }): Promise<void>;
3855
+ /**
3856
+ * Simulate multicall
3857
+ * Returns gas estimate and result without sending transaction
3858
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3859
+ */
3860
+ multicall(data: `0x${string}`[], options?: {
3861
+ accessList?: import("viem").AccessList;
3862
+ authorizationList?: import("viem").AuthorizationList;
3863
+ chain?: import("viem").Chain | null;
3864
+ dataSuffix?: `0x${string}`;
3865
+ gas?: bigint;
3866
+ gasPrice?: bigint;
3867
+ maxFeePerGas?: bigint;
3868
+ maxPriorityFeePerGas?: bigint;
3869
+ nonce?: number;
3870
+ value?: bigint;
3871
+ }): Promise<`0x${string}`[]>;
3872
+ /**
3873
+ * Simulate onERC721Received
3874
+ * Returns gas estimate and result without sending transaction
3875
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3876
+ */
3877
+ onERC721Received(arg0: `0x${string}`, arg1: `0x${string}`, arg2: bigint, arg3: `0x${string}`, options?: {
3878
+ accessList?: import("viem").AccessList;
3879
+ authorizationList?: import("viem").AuthorizationList;
3880
+ chain?: import("viem").Chain | null;
3881
+ dataSuffix?: `0x${string}`;
3882
+ gas?: bigint;
3883
+ gasPrice?: bigint;
3884
+ maxFeePerGas?: bigint;
3885
+ maxPriorityFeePerGas?: bigint;
3886
+ nonce?: number;
3887
+ value?: bigint;
3888
+ }): Promise<`0x${string}`>;
3889
+ /**
3890
+ * Simulate refinanceFromLoanExecutionData
3891
+ * Returns gas estimate and result without sending transaction
3892
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3893
+ */
3894
+ refinanceFromLoanExecutionData(_loanId: bigint, _loan: IMultiSourceLoan_Loan, _loanExecutionData: IMultiSourceLoan_LoanExecutionData, options?: {
3895
+ accessList?: import("viem").AccessList;
3896
+ authorizationList?: import("viem").AuthorizationList;
3897
+ chain?: import("viem").Chain | null;
3898
+ dataSuffix?: `0x${string}`;
3899
+ gas?: bigint;
3900
+ gasPrice?: bigint;
3901
+ maxFeePerGas?: bigint;
3902
+ maxPriorityFeePerGas?: bigint;
3903
+ nonce?: number;
3904
+ value?: bigint;
3905
+ }): Promise<[bigint, IMultiSourceLoan_Loan]>;
3906
+ /**
3907
+ * Simulate refinanceFull
3908
+ * Returns gas estimate and result without sending transaction
3909
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3910
+ */
3911
+ refinanceFull(_renegotiationOffer: IMultiSourceLoan_RenegotiationOffer, _loan: IMultiSourceLoan_Loan, _renegotiationOfferSignature: `0x${string}`, options?: {
3912
+ accessList?: import("viem").AccessList;
3913
+ authorizationList?: import("viem").AuthorizationList;
3914
+ chain?: import("viem").Chain | null;
3915
+ dataSuffix?: `0x${string}`;
3916
+ gas?: bigint;
3917
+ gasPrice?: bigint;
3918
+ maxFeePerGas?: bigint;
3919
+ maxPriorityFeePerGas?: bigint;
3920
+ nonce?: number;
3921
+ value?: bigint;
3922
+ }): Promise<[bigint, IMultiSourceLoan_Loan]>;
3923
+ /**
3924
+ * Simulate refinancePartial
3925
+ * Returns gas estimate and result without sending transaction
3926
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3927
+ */
3928
+ refinancePartial(_renegotiationOffer: IMultiSourceLoan_RenegotiationOffer, _loan: IMultiSourceLoan_Loan, options?: {
3929
+ accessList?: import("viem").AccessList;
3930
+ authorizationList?: import("viem").AuthorizationList;
3931
+ chain?: import("viem").Chain | null;
3932
+ dataSuffix?: `0x${string}`;
3933
+ gas?: bigint;
3934
+ gasPrice?: bigint;
3935
+ maxFeePerGas?: bigint;
3936
+ maxPriorityFeePerGas?: bigint;
3937
+ nonce?: number;
3938
+ value?: bigint;
3939
+ }): Promise<[bigint, IMultiSourceLoan_Loan]>;
3940
+ /**
3941
+ * Simulate removeWhitelistedCallbackContract
3942
+ * Returns gas estimate and result without sending transaction
3943
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3944
+ */
3945
+ removeWhitelistedCallbackContract(_contract: `0x${string}`, options?: {
3946
+ accessList?: import("viem").AccessList;
3947
+ authorizationList?: import("viem").AuthorizationList;
3948
+ chain?: import("viem").Chain | null;
3949
+ dataSuffix?: `0x${string}`;
3950
+ gas?: bigint;
3951
+ gasPrice?: bigint;
3952
+ maxFeePerGas?: bigint;
3953
+ maxPriorityFeePerGas?: bigint;
3954
+ nonce?: number;
3955
+ value?: bigint;
3956
+ }): Promise<void>;
3957
+ /**
3958
+ * Simulate repayLoan
3959
+ * Returns gas estimate and result without sending transaction
3960
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3961
+ */
3962
+ repayLoan(_repaymentData: IMultiSourceLoan_LoanRepaymentData, options?: {
3963
+ accessList?: import("viem").AccessList;
3964
+ authorizationList?: import("viem").AuthorizationList;
3965
+ chain?: import("viem").Chain | null;
3966
+ dataSuffix?: `0x${string}`;
3967
+ gas?: bigint;
3968
+ gasPrice?: bigint;
3969
+ maxFeePerGas?: bigint;
3970
+ maxPriorityFeePerGas?: bigint;
3971
+ nonce?: number;
3972
+ value?: bigint;
3973
+ }): Promise<void>;
3974
+ /**
3975
+ * Simulate requestTransferOwner
3976
+ * Returns gas estimate and result without sending transaction
3977
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3978
+ */
3979
+ requestTransferOwner(_newOwner: `0x${string}`, options?: {
3980
+ accessList?: import("viem").AccessList;
3981
+ authorizationList?: import("viem").AuthorizationList;
3982
+ chain?: import("viem").Chain | null;
3983
+ dataSuffix?: `0x${string}`;
3984
+ gas?: bigint;
3985
+ gasPrice?: bigint;
3986
+ maxFeePerGas?: bigint;
3987
+ maxPriorityFeePerGas?: bigint;
3988
+ nonce?: number;
3989
+ value?: bigint;
3990
+ }): Promise<void>;
3991
+ /**
3992
+ * Simulate revokeDelegate
3993
+ * Returns gas estimate and result without sending transaction
3994
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3995
+ */
3996
+ revokeDelegate(_delegate: `0x${string}`, _collection: `0x${string}`, _tokenId: bigint, _rights: `0x${string}`, options?: {
3997
+ accessList?: import("viem").AccessList;
3998
+ authorizationList?: import("viem").AuthorizationList;
3999
+ chain?: import("viem").Chain | null;
4000
+ dataSuffix?: `0x${string}`;
4001
+ gas?: bigint;
4002
+ gasPrice?: bigint;
4003
+ maxFeePerGas?: bigint;
4004
+ maxPriorityFeePerGas?: bigint;
4005
+ nonce?: number;
4006
+ value?: bigint;
4007
+ }): Promise<void>;
4008
+ /**
4009
+ * Simulate setFlashActionContract
4010
+ * Returns gas estimate and result without sending transaction
4011
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4012
+ */
4013
+ setFlashActionContract(_newFlashActionContract: `0x${string}`, options?: {
4014
+ accessList?: import("viem").AccessList;
4015
+ authorizationList?: import("viem").AuthorizationList;
4016
+ chain?: import("viem").Chain | null;
4017
+ dataSuffix?: `0x${string}`;
4018
+ gas?: bigint;
4019
+ gasPrice?: bigint;
4020
+ maxFeePerGas?: bigint;
4021
+ maxPriorityFeePerGas?: bigint;
4022
+ nonce?: number;
4023
+ value?: bigint;
4024
+ }): Promise<void>;
4025
+ /**
4026
+ * Simulate setMinLockPeriod
4027
+ * Returns gas estimate and result without sending transaction
4028
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4029
+ */
4030
+ setMinLockPeriod(__minLockPeriod: bigint, options?: {
4031
+ accessList?: import("viem").AccessList;
4032
+ authorizationList?: import("viem").AuthorizationList;
4033
+ chain?: import("viem").Chain | null;
4034
+ dataSuffix?: `0x${string}`;
4035
+ gas?: bigint;
4036
+ gasPrice?: bigint;
4037
+ maxFeePerGas?: bigint;
4038
+ maxPriorityFeePerGas?: bigint;
4039
+ nonce?: number;
4040
+ value?: bigint;
4041
+ }): Promise<void>;
4042
+ /**
4043
+ * Simulate setProtocolFee
4044
+ * Returns gas estimate and result without sending transaction
4045
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4046
+ */
4047
+ setProtocolFee(options?: {
4048
+ accessList?: import("viem").AccessList;
4049
+ authorizationList?: import("viem").AuthorizationList;
4050
+ chain?: import("viem").Chain | null;
4051
+ dataSuffix?: `0x${string}`;
4052
+ gas?: bigint;
4053
+ gasPrice?: bigint;
4054
+ maxFeePerGas?: bigint;
4055
+ maxPriorityFeePerGas?: bigint;
4056
+ nonce?: number;
4057
+ value?: bigint;
4058
+ }): Promise<void>;
4059
+ /**
4060
+ * Simulate transferOwnership
4061
+ * Returns gas estimate and result without sending transaction
4062
+ * Supports multiple overloads: (none), (address)
4063
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4064
+ */
4065
+ transferOwnership(...args: any[]): Promise<any>;
4066
+ /**
4067
+ * Simulate updateLiquidationAuctionDuration
4068
+ * Returns gas estimate and result without sending transaction
4069
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4070
+ */
4071
+ updateLiquidationAuctionDuration(_newDuration: bigint, options?: {
4072
+ accessList?: import("viem").AccessList;
4073
+ authorizationList?: import("viem").AuthorizationList;
4074
+ chain?: import("viem").Chain | null;
4075
+ dataSuffix?: `0x${string}`;
4076
+ gas?: bigint;
4077
+ gasPrice?: bigint;
4078
+ maxFeePerGas?: bigint;
4079
+ maxPriorityFeePerGas?: bigint;
4080
+ nonce?: number;
4081
+ value?: bigint;
4082
+ }): Promise<void>;
4083
+ /**
4084
+ * Simulate updateLiquidationContract
4085
+ * Returns gas estimate and result without sending transaction
4086
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4087
+ */
4088
+ updateLiquidationContract(__loanLiquidator: `0x${string}`, options?: {
4089
+ accessList?: import("viem").AccessList;
4090
+ authorizationList?: import("viem").AuthorizationList;
4091
+ chain?: import("viem").Chain | null;
4092
+ dataSuffix?: `0x${string}`;
4093
+ gas?: bigint;
4094
+ gasPrice?: bigint;
4095
+ maxFeePerGas?: bigint;
4096
+ maxPriorityFeePerGas?: bigint;
4097
+ nonce?: number;
4098
+ value?: bigint;
4099
+ }): Promise<void>;
4100
+ /**
4101
+ * Simulate updateMinImprovementApr
4102
+ * Returns gas estimate and result without sending transaction
4103
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4104
+ */
4105
+ updateMinImprovementApr(_newMinimum: bigint, options?: {
4106
+ accessList?: import("viem").AccessList;
4107
+ authorizationList?: import("viem").AuthorizationList;
4108
+ chain?: import("viem").Chain | null;
4109
+ dataSuffix?: `0x${string}`;
4110
+ gas?: bigint;
4111
+ gasPrice?: bigint;
4112
+ maxFeePerGas?: bigint;
4113
+ maxPriorityFeePerGas?: bigint;
4114
+ nonce?: number;
4115
+ value?: bigint;
4116
+ }): Promise<void>;
4117
+ /**
4118
+ * Simulate updateProtocolFee
4119
+ * Returns gas estimate and result without sending transaction
4120
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4121
+ */
4122
+ updateProtocolFee(_newProtocolFee: WithProtocolFee_ProtocolFee, options?: {
4123
+ accessList?: import("viem").AccessList;
4124
+ authorizationList?: import("viem").AuthorizationList;
4125
+ chain?: import("viem").Chain | null;
4126
+ dataSuffix?: `0x${string}`;
4127
+ gas?: bigint;
4128
+ gasPrice?: bigint;
4129
+ maxFeePerGas?: bigint;
4130
+ maxPriorityFeePerGas?: bigint;
4131
+ nonce?: number;
4132
+ value?: bigint;
4133
+ }): Promise<void>;
4134
+ };
4135
+ /**
4136
+ * Watch contract events
4137
+ *
4138
+ * @example
4139
+ * // Watch all Transfer events
4140
+ * const unwatch = contract.watch.Transfer((event) => {
4141
+ * console.log('Transfer:', event);
4142
+ * });
4143
+ *
4144
+ * // Stop watching
4145
+ * unwatch();
4146
+ */
4147
+ get watch(): {
4148
+ /**
4149
+ * Watch Delegated events
4150
+ * @param callback Function to call when event is emitted
4151
+ * @param filter Optional filter for indexed parameters
4152
+ * @returns Unwatch function to stop listening
4153
+ */
4154
+ Delegated: (callback: (event: {
4155
+ loanId: bigint;
4156
+ delegate: `0x${string}`;
4157
+ _rights: `0x${string}`;
4158
+ value: boolean;
4159
+ }) => void) => () => void;
4160
+ /**
4161
+ * Watch FlashActionContractUpdated events
4162
+ * @param callback Function to call when event is emitted
4163
+ * @param filter Optional filter for indexed parameters
4164
+ * @returns Unwatch function to stop listening
4165
+ */
4166
+ FlashActionContractUpdated: (callback: (event: {
4167
+ newFlashActionContract: `0x${string}`;
4168
+ }) => void) => () => void;
4169
+ /**
4170
+ * Watch FlashActionExecuted events
4171
+ * @param callback Function to call when event is emitted
4172
+ * @param filter Optional filter for indexed parameters
4173
+ * @returns Unwatch function to stop listening
4174
+ */
4175
+ FlashActionExecuted: (callback: (event: {
4176
+ loanId: bigint;
4177
+ target: `0x${string}`;
4178
+ data: `0x${string}`;
4179
+ }) => void) => () => void;
4180
+ /**
4181
+ * Watch LiquidationAuctionDurationUpdated events
4182
+ * @param callback Function to call when event is emitted
4183
+ * @param filter Optional filter for indexed parameters
4184
+ * @returns Unwatch function to stop listening
4185
+ */
4186
+ LiquidationAuctionDurationUpdated: (callback: (event: {
4187
+ newDuration: bigint;
4188
+ }) => void) => () => void;
4189
+ /**
4190
+ * Watch LiquidationContractUpdated events
4191
+ * @param callback Function to call when event is emitted
4192
+ * @param filter Optional filter for indexed parameters
4193
+ * @returns Unwatch function to stop listening
4194
+ */
4195
+ LiquidationContractUpdated: (callback: (event: {
4196
+ liquidator: `0x${string}`;
4197
+ }) => void) => () => void;
4198
+ /**
4199
+ * Watch LoanEmitted events
4200
+ * @param callback Function to call when event is emitted
4201
+ * @param filter Optional filter for indexed parameters
4202
+ * @returns Unwatch function to stop listening
4203
+ */
4204
+ LoanEmitted: (callback: (event: {
4205
+ loanId: bigint;
4206
+ offerId: bigint[];
4207
+ loan: IMultiSourceLoan_Loan;
4208
+ fee: bigint;
4209
+ }) => void) => () => void;
4210
+ /**
4211
+ * Watch LoanForeclosed events
4212
+ * @param callback Function to call when event is emitted
4213
+ * @param filter Optional filter for indexed parameters
4214
+ * @returns Unwatch function to stop listening
4215
+ */
4216
+ LoanForeclosed: (callback: (event: {
4217
+ loanId: bigint;
4218
+ }) => void) => () => void;
4219
+ /**
4220
+ * Watch LoanLiquidated events
4221
+ * @param callback Function to call when event is emitted
4222
+ * @param filter Optional filter for indexed parameters
4223
+ * @returns Unwatch function to stop listening
4224
+ */
4225
+ LoanLiquidated: (callback: (event: {
4226
+ loanId: bigint;
4227
+ }) => void) => () => void;
4228
+ /**
4229
+ * Watch LoanRefinanced events
4230
+ * @param callback Function to call when event is emitted
4231
+ * @param filter Optional filter for indexed parameters
4232
+ * @returns Unwatch function to stop listening
4233
+ */
4234
+ LoanRefinanced: (callback: (event: {
4235
+ renegotiationId: bigint;
4236
+ oldLoanId: bigint;
4237
+ newLoanId: bigint;
4238
+ loan: IMultiSourceLoan_Loan;
4239
+ fee: bigint;
4240
+ }) => void) => () => void;
4241
+ /**
4242
+ * Watch LoanRefinancedFromNewOffers events
4243
+ * @param callback Function to call when event is emitted
4244
+ * @param filter Optional filter for indexed parameters
4245
+ * @returns Unwatch function to stop listening
4246
+ */
4247
+ LoanRefinancedFromNewOffers: (callback: (event: {
4248
+ loanId: bigint;
4249
+ newLoanId: bigint;
4250
+ loan: IMultiSourceLoan_Loan;
4251
+ offerIds: bigint[];
4252
+ totalFee: bigint;
4253
+ }) => void) => () => void;
4254
+ /**
4255
+ * Watch LoanRepaid events
4256
+ * @param callback Function to call when event is emitted
4257
+ * @param filter Optional filter for indexed parameters
4258
+ * @returns Unwatch function to stop listening
4259
+ */
4260
+ LoanRepaid: (callback: (event: {
4261
+ loanId: bigint;
4262
+ totalRepayment: bigint;
4263
+ fee: bigint;
4264
+ }) => void) => () => void;
4265
+ /**
4266
+ * Watch LoanSentToLiquidator events
4267
+ * @param callback Function to call when event is emitted
4268
+ * @param filter Optional filter for indexed parameters
4269
+ * @returns Unwatch function to stop listening
4270
+ */
4271
+ LoanSentToLiquidator: (callback: (event: {
4272
+ loanId: bigint;
4273
+ liquidator: `0x${string}`;
4274
+ }) => void) => () => void;
4275
+ /**
4276
+ * Watch MinAprImprovementUpdated events
4277
+ * @param callback Function to call when event is emitted
4278
+ * @param filter Optional filter for indexed parameters
4279
+ * @returns Unwatch function to stop listening
4280
+ */
4281
+ MinAprImprovementUpdated: (callback: (event: {
4282
+ _minimum: bigint;
4283
+ }) => void) => () => void;
4284
+ /**
4285
+ * Watch MinBidLiquidationUpdated events
4286
+ * @param callback Function to call when event is emitted
4287
+ * @param filter Optional filter for indexed parameters
4288
+ * @returns Unwatch function to stop listening
4289
+ */
4290
+ MinBidLiquidationUpdated: (callback: (event: {
4291
+ newMinBid: bigint;
4292
+ }) => void) => () => void;
4293
+ /**
4294
+ * Watch MinLockPeriodUpdated events
4295
+ * @param callback Function to call when event is emitted
4296
+ * @param filter Optional filter for indexed parameters
4297
+ * @returns Unwatch function to stop listening
4298
+ */
4299
+ MinLockPeriodUpdated: (callback: (event: {
4300
+ minLockPeriod: bigint;
4301
+ }) => void) => () => void;
4302
+ /**
4303
+ * Watch OfferCancelled events
4304
+ * @param callback Function to call when event is emitted
4305
+ * @param filter Optional filter for indexed parameters
4306
+ * @returns Unwatch function to stop listening
4307
+ */
4308
+ OfferCancelled: (callback: (event: {
4309
+ lender: `0x${string}`;
4310
+ offerId: bigint;
4311
+ }) => void) => () => void;
4312
+ /**
4313
+ * Watch OwnershipTransferred events
4314
+ * @param callback Function to call when event is emitted
4315
+ * @param filter Optional filter for indexed parameters
4316
+ * @returns Unwatch function to stop listening
4317
+ */
4318
+ OwnershipTransferred: (callback: (event: {
4319
+ user: `0x${string}`;
4320
+ newOwner: `0x${string}`;
4321
+ }) => void, filter?: {
4322
+ user: `0x${string}`;
4323
+ newOwner: `0x${string}`;
4324
+ }) => () => void;
4325
+ /**
4326
+ * Watch ProtocolFeePendingUpdate events
4327
+ * @param callback Function to call when event is emitted
4328
+ * @param filter Optional filter for indexed parameters
4329
+ * @returns Unwatch function to stop listening
4330
+ */
4331
+ ProtocolFeePendingUpdate: (callback: (event: {
4332
+ fee: WithProtocolFee_ProtocolFee;
4333
+ }) => void) => () => void;
4334
+ /**
4335
+ * Watch ProtocolFeeUpdated events
4336
+ * @param callback Function to call when event is emitted
4337
+ * @param filter Optional filter for indexed parameters
4338
+ * @returns Unwatch function to stop listening
4339
+ */
4340
+ ProtocolFeeUpdated: (callback: (event: {
4341
+ fee: WithProtocolFee_ProtocolFee;
4342
+ }) => void) => () => void;
4343
+ /**
4344
+ * Watch RenegotiationOfferCancelled events
4345
+ * @param callback Function to call when event is emitted
4346
+ * @param filter Optional filter for indexed parameters
4347
+ * @returns Unwatch function to stop listening
4348
+ */
4349
+ RenegotiationOfferCancelled: (callback: (event: {
4350
+ lender: `0x${string}`;
4351
+ renegotiationId: bigint;
4352
+ }) => void) => () => void;
4353
+ /**
4354
+ * Watch RevokeDelegate events
4355
+ * @param callback Function to call when event is emitted
4356
+ * @param filter Optional filter for indexed parameters
4357
+ * @returns Unwatch function to stop listening
4358
+ */
4359
+ RevokeDelegate: (callback: (event: {
4360
+ delegate: `0x${string}`;
4361
+ collection: `0x${string}`;
4362
+ tokenId: bigint;
4363
+ _rights: `0x${string}`;
4364
+ }) => void) => () => void;
4365
+ /**
4366
+ * Watch TransferOwnerRequested events
4367
+ * @param callback Function to call when event is emitted
4368
+ * @param filter Optional filter for indexed parameters
4369
+ * @returns Unwatch function to stop listening
4370
+ */
4371
+ TransferOwnerRequested: (callback: (event: {
4372
+ newOwner: `0x${string}`;
4373
+ }) => void) => () => void;
4374
+ /**
4375
+ * Watch WhitelistedCallbackContractAdded events
4376
+ * @param callback Function to call when event is emitted
4377
+ * @param filter Optional filter for indexed parameters
4378
+ * @returns Unwatch function to stop listening
4379
+ */
4380
+ WhitelistedCallbackContractAdded: (callback: (event: {
4381
+ contractAdded: `0x${string}`;
4382
+ }) => void) => () => void;
4383
+ /**
4384
+ * Watch WhitelistedCallbackContractRemoved events
4385
+ * @param callback Function to call when event is emitted
4386
+ * @param filter Optional filter for indexed parameters
4387
+ * @returns Unwatch function to stop listening
4388
+ */
4389
+ WhitelistedCallbackContractRemoved: (callback: (event: {
4390
+ contractRemoved: `0x${string}`;
4391
+ }) => void) => () => void;
4392
+ };
4393
+ }