export declare const multiSourceLoanAbi: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "loanLiquidator"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "protocolFee"; readonly type: "tuple"; readonly internalType: "struct WithProtocolFee.ProtocolFee"; readonly components: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fraction"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "currencyManager"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "collectionManager"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "maxTranches"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "minLockPeriod"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "delegateRegistry"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "loanManagerRegistry"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "flashActionContract"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "minWaitTime"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "DOMAIN_SEPARATOR"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "FEE_UPDATE_NOTICE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "INITIAL_DOMAIN_SEPARATOR"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MAX_AUCTION_DURATION"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint48"; readonly internalType: "uint48"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MIN_AUCTION_DURATION"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint48"; readonly internalType: "uint48"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MIN_BID_LIQUIDATION"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MIN_WAIT_TIME"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "VERSION"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "addNewTranche"; readonly inputs: readonly [{ readonly name: "_renegotiationOffer"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.RenegotiationOffer"; readonly components: readonly [{ readonly name: "renegotiationId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "trancheIndex"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "expirationTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "_loan"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }, { readonly name: "_renegotiationOfferSignature"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: ""; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "addWhitelistedCallbackContract"; readonly inputs: readonly [{ readonly name: "_contract"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "cancelOffer"; readonly inputs: readonly [{ readonly name: "_offerId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "cancelRenegotiationOffer"; readonly inputs: readonly [{ readonly name: "_renegotiationId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "delegate"; readonly inputs: readonly [{ readonly name: "_loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "loan"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }, { readonly name: "_delegate"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "_rights"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "_value"; readonly type: "bool"; readonly internalType: "bool"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "emitLoan"; readonly inputs: readonly [{ readonly name: "_loanExecutionData"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.LoanExecutionData"; readonly components: readonly [{ readonly name: "executionData"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.ExecutionData"; readonly components: readonly [{ readonly name: "offerExecution"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.OfferExecution[]"; readonly components: readonly [{ readonly name: "offer"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.LoanOffer"; readonly components: readonly [{ readonly name: "offerId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "capacity"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "expirationTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "maxSeniorRepayment"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "validators"; readonly type: "tuple[]"; readonly internalType: "struct IBaseLoan.OfferValidator[]"; readonly components: readonly [{ readonly name: "validator"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "arguments"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }]; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderOfferSignature"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "expirationTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalReceiver"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "callbackData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "borrowerOfferSignature"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: ""; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "executeFlashAction"; readonly inputs: readonly [{ readonly name: "_loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_loan"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }, { readonly name: "_target"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "_data"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "getCollectionManager"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getCurrencyManager"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getDelegateRegistry"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getFlashActionContract"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getLiquidationAuctionDuration"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint48"; readonly internalType: "uint48"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getLiquidator"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getLoanHash"; readonly inputs: readonly [{ readonly name: "_loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getLoanManagerRegistry"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "contract ILoanManagerRegistry"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getMaxTranches"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getMinImprovementApr"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getMinLockPeriod"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getPendingProtocolFee"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct WithProtocolFee.ProtocolFee"; readonly components: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fraction"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getPendingProtocolFeeSetTime"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getProtocolFee"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct WithProtocolFee.ProtocolFee"; readonly components: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fraction"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getTotalLoansIssued"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getUsedCapacity"; readonly inputs: readonly [{ readonly name: "_lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "_offerId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isOfferCancelled"; readonly inputs: readonly [{ readonly name: "user"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "offerId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "notActive"; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isRenegotiationOfferCancelled"; readonly inputs: readonly [{ readonly name: "user"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "renegotiationIf"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "notActive"; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isWhitelistedCallbackContract"; readonly inputs: readonly [{ readonly name: "_contract"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "liquidateLoan"; readonly inputs: readonly [{ readonly name: "_loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_loan"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "multicall"; readonly inputs: readonly [{ readonly name: "data"; readonly type: "bytes[]"; readonly internalType: "bytes[]"; }]; readonly outputs: readonly [{ readonly name: "results"; readonly type: "bytes[]"; readonly internalType: "bytes[]"; }]; readonly stateMutability: "payable"; }, { readonly type: "function"; readonly name: "name"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; readonly internalType: "string"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "onERC721Received"; readonly inputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }, { readonly name: ""; readonly type: "address"; readonly internalType: "address"; }, { readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: ""; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes4"; readonly internalType: "bytes4"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "owner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwner"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "pendingOwnerTime"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "refinanceFromLoanExecutionData"; readonly inputs: readonly [{ readonly name: "_loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_loan"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }, { readonly name: "_loanExecutionData"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.LoanExecutionData"; readonly components: readonly [{ readonly name: "executionData"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.ExecutionData"; readonly components: readonly [{ readonly name: "offerExecution"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.OfferExecution[]"; readonly components: readonly [{ readonly name: "offer"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.LoanOffer"; readonly components: readonly [{ readonly name: "offerId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "capacity"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "expirationTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "maxSeniorRepayment"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "validators"; readonly type: "tuple[]"; readonly internalType: "struct IBaseLoan.OfferValidator[]"; readonly components: readonly [{ readonly name: "validator"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "arguments"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }, { readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }]; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderOfferSignature"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "expirationTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalReceiver"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "callbackData"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "borrowerOfferSignature"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: ""; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "refinanceFull"; readonly inputs: readonly [{ readonly name: "_renegotiationOffer"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.RenegotiationOffer"; readonly components: readonly [{ readonly name: "renegotiationId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "trancheIndex"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "expirationTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "_loan"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }, { readonly name: "_renegotiationOfferSignature"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: ""; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "refinancePartial"; readonly inputs: readonly [{ readonly name: "_renegotiationOffer"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.RenegotiationOffer"; readonly components: readonly [{ readonly name: "renegotiationId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "trancheIndex"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "expirationTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "_loan"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: ""; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "removeWhitelistedCallbackContract"; readonly inputs: readonly [{ readonly name: "_contract"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "repayLoan"; readonly inputs: readonly [{ readonly name: "_repaymentData"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.LoanRepaymentData"; readonly components: readonly [{ readonly name: "data"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.SignableRepaymentData"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "callbackData"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "shouldDelegate"; readonly type: "bool"; readonly internalType: "bool"; }]; }, { readonly name: "loan"; readonly type: "tuple"; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }, { readonly name: "borrowerSignature"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "requestTransferOwner"; readonly inputs: readonly [{ readonly name: "_newOwner"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "revokeDelegate"; readonly inputs: readonly [{ readonly name: "_delegate"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "_collection"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "_tokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_rights"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setFlashActionContract"; readonly inputs: readonly [{ readonly name: "_newFlashActionContract"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setMinLockPeriod"; readonly inputs: readonly [{ readonly name: "__minLockPeriod"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setProtocolFee"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "transferOwnership"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "updateLiquidationAuctionDuration"; readonly inputs: readonly [{ readonly name: "_newDuration"; readonly type: "uint48"; readonly internalType: "uint48"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "updateLiquidationContract"; readonly inputs: readonly [{ readonly name: "__loanLiquidator"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "updateMinImprovementApr"; readonly inputs: readonly [{ readonly name: "_newMinimum"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "updateProtocolFee"; readonly inputs: readonly [{ readonly name: "_newProtocolFee"; readonly type: "tuple"; readonly internalType: "struct WithProtocolFee.ProtocolFee"; readonly components: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fraction"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "Delegated"; readonly inputs: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "delegate"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "_rights"; readonly type: "bytes32"; readonly indexed: false; readonly internalType: "bytes32"; }, { readonly name: "value"; readonly type: "bool"; readonly indexed: false; readonly internalType: "bool"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FlashActionContractUpdated"; readonly inputs: readonly [{ readonly name: "newFlashActionContract"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FlashActionExecuted"; readonly inputs: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "target"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "data"; readonly type: "bytes"; readonly indexed: false; readonly internalType: "bytes"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "LiquidationAuctionDurationUpdated"; readonly inputs: readonly [{ readonly name: "newDuration"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "LiquidationContractUpdated"; readonly inputs: readonly [{ readonly name: "liquidator"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "LoanEmitted"; readonly inputs: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "offerId"; readonly type: "uint256[]"; readonly indexed: false; readonly internalType: "uint256[]"; }, { readonly name: "loan"; readonly type: "tuple"; readonly indexed: false; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }, { readonly name: "fee"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "LoanForeclosed"; readonly inputs: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "LoanLiquidated"; readonly inputs: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "foreclosed"; readonly type: "bool"; readonly indexed: false; readonly internalType: "bool"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "LoanRefinanced"; readonly inputs: readonly [{ readonly name: "renegotiationId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "oldLoanId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "newLoanId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "loan"; readonly type: "tuple"; readonly indexed: false; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }, { readonly name: "fee"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "LoanRefinancedFromNewOffers"; readonly inputs: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "newLoanId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "loan"; readonly type: "tuple"; readonly indexed: false; readonly internalType: "struct IMultiSourceLoan.Loan"; readonly components: readonly [{ readonly name: "borrower"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nftCollateralTokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "nftCollateralAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAddress"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "tranche"; readonly type: "tuple[]"; readonly internalType: "struct IMultiSourceLoan.Tranche[]"; readonly components: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "floor"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "accruedInterest"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "startTime"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "aprBps"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "protocolFee"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "lenderRefinanceDisabled"; readonly type: "bool"; readonly internalType: "bool"; }]; }, { readonly name: "offerIds"; readonly type: "uint256[]"; readonly indexed: false; readonly internalType: "uint256[]"; }, { readonly name: "totalFee"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "LoanRepaid"; readonly inputs: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "totalRepayment"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "fee"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "LoanSentToLiquidator"; readonly inputs: readonly [{ readonly name: "loanId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "liquidator"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "MinAprImprovementUpdated"; readonly inputs: readonly [{ readonly name: "_minimum"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "MinBidLiquidationUpdated"; readonly inputs: readonly [{ readonly name: "newMinBid"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "MinLockPeriodUpdated"; readonly inputs: readonly [{ readonly name: "minLockPeriod"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OfferCancelled"; readonly inputs: readonly [{ readonly name: "lender"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "offerId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly name: "user"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "newOwner"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "ProtocolFeePendingUpdate"; readonly inputs: readonly [{ readonly name: "fee"; readonly type: "tuple"; readonly indexed: false; readonly internalType: "struct WithProtocolFee.ProtocolFee"; readonly components: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fraction"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "ProtocolFeeUpdated"; readonly inputs: readonly [{ readonly name: "fee"; readonly type: "tuple"; readonly indexed: false; readonly internalType: "struct WithProtocolFee.ProtocolFee"; readonly components: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "fraction"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RenegotiationOfferCancelled"; readonly inputs: readonly [{ readonly name: "lender"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "renegotiationId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "RevokeDelegate"; readonly inputs: readonly [{ readonly name: "delegate"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "collection"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "tokenId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "_rights"; readonly type: "bytes32"; readonly indexed: false; readonly internalType: "bytes32"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "TransferOwnerRequested"; readonly inputs: readonly [{ readonly name: "newOwner"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WhitelistedCallbackContractAdded"; readonly inputs: readonly [{ readonly name: "contractAdded"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WhitelistedCallbackContractRemoved"; readonly inputs: readonly [{ readonly name: "contractRemoved"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "AddressZeroError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "CancelledOrExecutedOfferError"; readonly inputs: readonly [{ readonly name: "_lender"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "_offerId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly type: "error"; readonly name: "CollectionNotWhitelistedError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "CurrencyNotWhitelistedError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ECDSAInvalidSignature"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ECDSAInvalidSignatureLength"; readonly inputs: readonly [{ readonly name: "length"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly type: "error"; readonly name: "ECDSAInvalidSignatureS"; readonly inputs: readonly [{ readonly name: "s"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; }, { readonly type: "error"; readonly name: "ExpiredOfferError"; readonly inputs: readonly [{ readonly name: "_expirationTime"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidAddressesError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidAmountError"; readonly inputs: readonly [{ readonly name: "_amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_principalAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidBorrowerError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidCallbackError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidCallerError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidCollateralError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidCollateralIdError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidDurationError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidInputError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidLoanError"; readonly inputs: readonly [{ readonly name: "_loanId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly type: "error"; readonly name: "InvalidLockPeriodError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidMethodError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidRenegotiationOfferError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidSignatureError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidTrancheError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "LenderRefinanceDisabledError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "LoanExpiredError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "LoanLockedError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "LoanNotDueError"; readonly inputs: readonly [{ readonly name: "_expirationTime"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly type: "error"; readonly name: "MaxCapacityExceededError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "MulticallFailed"; readonly inputs: readonly [{ readonly name: "i"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "returndata"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly type: "error"; readonly name: "NFTNotReturnedError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotStrictlyImprovedError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TooEarlyError"; readonly inputs: readonly [{ readonly name: "_pendingProtocolFeeSetTime"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly type: "error"; readonly name: "TooManyTranchesError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TooSoonError"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "TrancheCannotBeRefinancedError"; readonly inputs: readonly [{ readonly name: "minTimestamp"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly type: "error"; readonly name: "ZeroInterestError"; readonly inputs: readonly []; }];