Properties
abi
abi: readonly [{
type: "constructor";
inputs: readonly [{
name: "liquidationDistributor";
internalType: "address";
type: "address";
}, {
name: "currencyManager";
internalType: "address";
type: "address";
}, {
name: "collectionManager";
internalType: "address";
type: "address";
}, {
name: "loanManagerRegistry";
internalType: "address";
type: "address";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "maxExtension";
internalType: "uint96";
type: "uint96";
}, {
name: "timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "nonpayable";
}, {
type: "error";
inputs: readonly [];
name: "AddressZeroError";
}, {
type: "error";
inputs: readonly [];
name: "AuctionAlreadyInProgressError";
}, {
type: "error";
inputs: readonly [{
name: "_expiration";
internalType: "uint96";
type: "uint96";
}];
name: "AuctionNotOverError";
}, {
type: "error";
inputs: readonly [{
name: "_expiration";
internalType: "uint96";
type: "uint96";
}];
name: "AuctionOverError";
}, {
type: "error";
inputs: readonly [];
name: "CollectionNotWhitelistedError";
}, {
type: "error";
inputs: readonly [];
name: "CouldNotModifyValidLoansError";
}, {
type: "error";
inputs: readonly [];
name: "CurrencyNotWhitelistedError";
}, {
type: "error";
inputs: readonly [];
name: "InvalidHashAuctionError";
}, {
type: "error";
inputs: readonly [];
name: "InvalidInputError";
}, {
type: "error";
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}];
name: "InvalidTriggerFee";
}, {
type: "error";
inputs: readonly [{
name: "_loan";
internalType: "address";
type: "address";
}];
name: "LoanNotAcceptedError";
}, {
type: "error";
inputs: readonly [{
name: "_minBid";
internalType: "uint256";
type: "uint256";
}];
name: "MinBidError";
}, {
type: "error";
inputs: readonly [{
name: "_owner";
internalType: "address";
type: "address";
}];
name: "NFTNotOwnedError";
}, {
type: "error";
inputs: readonly [];
name: "NoBidsError";
}, {
type: "error";
inputs: readonly [];
name: "NotMainLenderError";
}, {
type: "error";
inputs: readonly [{
name: "timeLimit";
internalType: "uint256";
type: "uint256";
}];
name: "OptionToBuyExpiredError";
}, {
type: "error";
inputs: readonly [{
name: "timeLimit";
internalType: "uint256";
type: "uint256";
}];
name: "OptionToBuyStilValidError";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loanContract";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "asset";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "proceeds";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "settler";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "AuctionSettled";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "nftAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "largestTrancheIdx";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "AuctionSettledWithBuyout";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "newBidder";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "bid";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "loanAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "BidPlaced";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "liquidationDistributor";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LiquidationDistributorUpdated";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loan";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LoanContractAdded";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loan";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LoanContractRemoved";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
indexed: false;
}];
name: "LoanLiquidationStarted";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "user";
internalType: "address";
type: "address";
indexed: true;
}, {
name: "newOwner";
internalType: "address";
type: "address";
indexed: true;
}];
name: "OwnershipTransferred";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "TimeForMainLenderToBuyUpdated";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "TriggerFeeUpdated";
}, {
type: "function";
inputs: readonly [];
name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "MAX_TRIGGER_FEE";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "MIN_INCREMENT_BPS";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_loanContract";
internalType: "address";
type: "address";
}];
name: "addLoanContract";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}];
name: "getAuctionHash";
outputs: readonly [{
name: "";
internalType: "bytes32";
type: "bytes32";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getLiquidationDistributor";
outputs: readonly [{
name: "";
internalType: "address";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getLoanManagerRegistry";
outputs: readonly [{
name: "";
internalType: "contract ILoanManagerRegistry";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getMaxExtension";
outputs: readonly [{
name: "";
internalType: "uint96";
type: "uint96";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getTimeForMainLenderToBuy";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getTriggerFee";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getValidLoanContracts";
outputs: readonly [{
name: "";
internalType: "address[]";
type: "address[]";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_asset";
internalType: "address";
type: "address";
}, {
name: "_duration";
internalType: "uint96";
type: "uint96";
}, {
name: "_minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "_originator";
internalType: "address";
type: "address";
}];
name: "liquidateLoan";
outputs: readonly [{
name: "";
internalType: "bytes";
type: "bytes";
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "";
internalType: "address";
type: "address";
}, {
name: "";
internalType: "address";
type: "address";
}, {
name: "";
internalType: "uint256";
type: "uint256";
}, {
name: "";
internalType: "bytes";
type: "bytes";
}];
name: "onERC721Received";
outputs: readonly [{
name: "";
internalType: "bytes4";
type: "bytes4";
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [];
name: "owner";
outputs: readonly [{
name: "";
internalType: "address";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_bid";
internalType: "uint256";
type: "uint256";
}];
name: "placeBid";
outputs: readonly [{
name: "";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_loanContract";
internalType: "address";
type: "address";
}];
name: "removeLoanContract";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "__timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
}];
name: "setTimeForMainLenderToBuy";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_loan";
internalType: "struct IMultiSourceLoan.Loan";
type: "tuple";
components: readonly [{
name: "borrower";
internalType: "address";
type: "address";
}, {
name: "nftCollateralTokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "nftCollateralAddress";
internalType: "address";
type: "address";
}, {
name: "principalAddress";
internalType: "address";
type: "address";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "duration";
internalType: "uint256";
type: "uint256";
}, {
name: "tranche";
internalType: "struct IMultiSourceLoan.Tranche[]";
type: "tuple[]";
components: readonly [{
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "floor";
internalType: "uint256";
type: "uint256";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "lender";
internalType: "address";
type: "address";
}, {
name: "accruedInterest";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "aprBps";
internalType: "uint256";
type: "uint256";
}];
}, {
name: "protocolFee";
internalType: "uint256";
type: "uint256";
}];
}];
name: "settleAuction";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_loan";
internalType: "struct IMultiSourceLoan.Loan";
type: "tuple";
components: readonly [{
name: "borrower";
internalType: "address";
type: "address";
}, {
name: "nftCollateralTokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "nftCollateralAddress";
internalType: "address";
type: "address";
}, {
name: "principalAddress";
internalType: "address";
type: "address";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "duration";
internalType: "uint256";
type: "uint256";
}, {
name: "tranche";
internalType: "struct IMultiSourceLoan.Tranche[]";
type: "tuple[]";
components: readonly [{
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "floor";
internalType: "uint256";
type: "uint256";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "lender";
internalType: "address";
type: "address";
}, {
name: "accruedInterest";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "aprBps";
internalType: "uint256";
type: "uint256";
}];
}, {
name: "protocolFee";
internalType: "uint256";
type: "uint256";
}];
}];
name: "settleWithBuyout";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "newOwner";
internalType: "address";
type: "address";
}];
name: "transferOwnership";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "__liquidationDistributor";
internalType: "address";
type: "address";
}];
name: "updateLiquidationDistributor";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}];
name: "updateTriggerFee";
outputs: readonly [];
stateMutability: "nonpayable";
}]
address
address: `0x${string}`
contract
contract: GetContractReturnType<readonly [{
type: "constructor";
inputs: readonly [{
name: "liquidationDistributor";
internalType: "address";
type: "address";
}, {
name: "currencyManager";
internalType: "address";
type: "address";
}, {
name: "collectionManager";
internalType: "address";
type: "address";
}, {
name: "loanManagerRegistry";
internalType: "address";
type: "address";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "maxExtension";
internalType: "uint96";
type: "uint96";
}, {
name: "timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "nonpayable";
}, {
type: "error";
inputs: readonly [];
name: "AddressZeroError";
}, {
type: "error";
inputs: readonly [];
name: "AuctionAlreadyInProgressError";
}, {
type: "error";
inputs: readonly [{
name: "_expiration";
internalType: "uint96";
type: "uint96";
}];
name: "AuctionNotOverError";
}, {
type: "error";
inputs: readonly [{
name: "_expiration";
internalType: "uint96";
type: "uint96";
}];
name: "AuctionOverError";
}, {
type: "error";
inputs: readonly [];
name: "CollectionNotWhitelistedError";
}, {
type: "error";
inputs: readonly [];
name: "CouldNotModifyValidLoansError";
}, {
type: "error";
inputs: readonly [];
name: "CurrencyNotWhitelistedError";
}, {
type: "error";
inputs: readonly [];
name: "InvalidHashAuctionError";
}, {
type: "error";
inputs: readonly [];
name: "InvalidInputError";
}, {
type: "error";
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}];
name: "InvalidTriggerFee";
}, {
type: "error";
inputs: readonly [{
name: "_loan";
internalType: "address";
type: "address";
}];
name: "LoanNotAcceptedError";
}, {
type: "error";
inputs: readonly [{
name: "_minBid";
internalType: "uint256";
type: "uint256";
}];
name: "MinBidError";
}, {
type: "error";
inputs: readonly [{
name: "_owner";
internalType: "address";
type: "address";
}];
name: "NFTNotOwnedError";
}, {
type: "error";
inputs: readonly [];
name: "NoBidsError";
}, {
type: "error";
inputs: readonly [];
name: "NotMainLenderError";
}, {
type: "error";
inputs: readonly [{
name: "timeLimit";
internalType: "uint256";
type: "uint256";
}];
name: "OptionToBuyExpiredError";
}, {
type: "error";
inputs: readonly [{
name: "timeLimit";
internalType: "uint256";
type: "uint256";
}];
name: "OptionToBuyStilValidError";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loanContract";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "asset";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "proceeds";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "settler";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "AuctionSettled";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "nftAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "largestTrancheIdx";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "AuctionSettledWithBuyout";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "newBidder";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "bid";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "loanAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "BidPlaced";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "liquidationDistributor";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LiquidationDistributorUpdated";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loan";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LoanContractAdded";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loan";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LoanContractRemoved";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
indexed: false;
}];
name: "LoanLiquidationStarted";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "user";
internalType: "address";
type: "address";
indexed: true;
}, {
name: "newOwner";
internalType: "address";
type: "address";
indexed: true;
}];
name: "OwnershipTransferred";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "TimeForMainLenderToBuyUpdated";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "TriggerFeeUpdated";
}, {
type: "function";
inputs: readonly [];
name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "MAX_TRIGGER_FEE";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "MIN_INCREMENT_BPS";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_loanContract";
internalType: "address";
type: "address";
}];
name: "addLoanContract";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}];
name: "getAuctionHash";
outputs: readonly [{
name: "";
internalType: "bytes32";
type: "bytes32";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getLiquidationDistributor";
outputs: readonly [{
name: "";
internalType: "address";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getLoanManagerRegistry";
outputs: readonly [{
name: "";
internalType: "contract ILoanManagerRegistry";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getMaxExtension";
outputs: readonly [{
name: "";
internalType: "uint96";
type: "uint96";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getTimeForMainLenderToBuy";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getTriggerFee";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getValidLoanContracts";
outputs: readonly [{
name: "";
internalType: "address[]";
type: "address[]";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_asset";
internalType: "address";
type: "address";
}, {
name: "_duration";
internalType: "uint96";
type: "uint96";
}, {
name: "_minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "_originator";
internalType: "address";
type: "address";
}];
name: "liquidateLoan";
outputs: readonly [{
name: "";
internalType: "bytes";
type: "bytes";
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "";
internalType: "address";
type: "address";
}, {
name: "";
internalType: "address";
type: "address";
}, {
name: "";
internalType: "uint256";
type: "uint256";
}, {
name: "";
internalType: "bytes";
type: "bytes";
}];
name: "onERC721Received";
outputs: readonly [{
name: "";
internalType: "bytes4";
type: "bytes4";
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [];
name: "owner";
outputs: readonly [{
name: "";
internalType: "address";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_bid";
internalType: "uint256";
type: "uint256";
}];
name: "placeBid";
outputs: readonly [{
name: "";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_loanContract";
internalType: "address";
type: "address";
}];
name: "removeLoanContract";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "__timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
}];
name: "setTimeForMainLenderToBuy";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_loan";
internalType: "struct IMultiSourceLoan.Loan";
type: "tuple";
components: readonly [{
name: "borrower";
internalType: "address";
type: "address";
}, {
name: "nftCollateralTokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "nftCollateralAddress";
internalType: "address";
type: "address";
}, {
name: "principalAddress";
internalType: "address";
type: "address";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "duration";
internalType: "uint256";
type: "uint256";
}, {
name: "tranche";
internalType: "struct IMultiSourceLoan.Tranche[]";
type: "tuple[]";
components: readonly [{
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "floor";
internalType: "uint256";
type: "uint256";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "lender";
internalType: "address";
type: "address";
}, {
name: "accruedInterest";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "aprBps";
internalType: "uint256";
type: "uint256";
}];
}, {
name: "protocolFee";
internalType: "uint256";
type: "uint256";
}];
}];
name: "settleAuction";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_loan";
internalType: "struct IMultiSourceLoan.Loan";
type: "tuple";
components: readonly [{
name: "borrower";
internalType: "address";
type: "address";
}, {
name: "nftCollateralTokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "nftCollateralAddress";
internalType: "address";
type: "address";
}, {
name: "principalAddress";
internalType: "address";
type: "address";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "duration";
internalType: "uint256";
type: "uint256";
}, {
name: "tranche";
internalType: "struct IMultiSourceLoan.Tranche[]";
type: "tuple[]";
components: readonly [{
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "floor";
internalType: "uint256";
type: "uint256";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "lender";
internalType: "address";
type: "address";
}, {
name: "accruedInterest";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "aprBps";
internalType: "uint256";
type: "uint256";
}];
}, {
name: "protocolFee";
internalType: "uint256";
type: "uint256";
}];
}];
name: "settleWithBuyout";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "newOwner";
internalType: "address";
type: "address";
}];
name: "transferOwnership";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "__liquidationDistributor";
internalType: "address";
type: "address";
}];
name: "updateLiquidationDistributor";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}];
name: "updateTriggerFee";
outputs: readonly [];
stateMutability: "nonpayable";
}], {} | {}>
safeContractWrite
safeContractWrite: {
transferOwnership: ((args, options?) => Promise<`0x${string}`>);
addLoanContract: ((args, options?) => Promise<`0x${string}`>);
liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
onERC721Received: ((args, options?) => Promise<`0x${string}`>);
placeBid: ((args, options?) => Promise<`0x${string}`>);
removeLoanContract: ((args, options?) => Promise<`0x${string}`>);
settleAuction: ((args, options?) => Promise<`0x${string}`>);
updateTriggerFee: ((args, options?) => Promise<`0x${string}`>);
updateLiquidationDistributor: ((args, options?) => Promise<`0x${string}`>);
setTimeForMainLenderToBuy: ((args, options?) => Promise<`0x${string}`>);
settleWithBuyout: ((args, options?) => Promise<`0x${string}`>);
}
Type declaration
-
transferOwnership: ((args, options?) => Promise<`0x${string}`>)
-
- (args, options?): Promise<`0x${string}`>
-
Parameters
-
args: readonly [`0x${string}`]
-
Optional
options: {
value?: bigint;
}
Returns Promise<`0x${string}`>
-
addLoanContract: ((args, options?) => Promise<`0x${string}`>)
-
- (args, options?): Promise<`0x${string}`>
-
Parameters
-
args: readonly [`0x${string}`]
-
Optional
options: {
value?: bigint;
}
Returns Promise<`0x${string}`>
-
liquidateLoan: ((args, options?) => Promise<`0x${string}`>)
-
- (args, options?): Promise<`0x${string}`>
-
Parameters
-
args: readonly [bigint, `0x${string}`, bigint, `0x${string}`, bigint, bigint, `0x${string}`]
-
Optional
options: {
value?: bigint;
}
Returns Promise<`0x${string}`>
-
onERC721Received: ((args, options?) => Promise<`0x${string}`>)
-
- (args, options?): Promise<`0x${string}`>
-
Parameters
-
args: readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]
-
Optional
options: {
value?: bigint;
}
Returns Promise<`0x${string}`>
-
placeBid: ((args, options?) => Promise<`0x${string}`>)
-
- (args, options?): Promise<`0x${string}`>
-
Parameters
-
args: readonly [`0x${string}`, bigint, {
loanAddress: `0x${string}`;
loanId: bigint;
highestBid: bigint;
triggerFee: bigint;
minBid: bigint;
highestBidder: `0x${string}`;
duration: bigint;
asset: `0x${string}`;
startTime: bigint;
originator: `0x${string}`;
lastBidTime: bigint;
}, bigint] | readonly [`0x${string}`, bigint, {
loanAddress: `0x${string}`;
loanId: bigint;
highestBid: bigint;
triggerFee: bigint;
minBid: bigint;
highestBidder: `0x${string}`;
duration: bigint;
asset: `0x${string}`;
startTime: bigint;
originator: `0x${string}`;
lastBidTime: bigint;
}, bigint] & readonly [`0x${string}`, bigint, {
loanAddress: `0x${string}`;
loanId: bigint;
highestBid: bigint;
triggerFee: bigint;
minBid: bigint;
highestBidder: `0x${string}`;
duration: bigint;
asset: `0x${string}`;
startTime: bigint;
originator: `0x${string}`;
lastBidTime: bigint;
}, bigint]
-
Optional
options: {
value?: bigint;
}
Returns Promise<`0x${string}`>
-
removeLoanContract: ((args, options?) => Promise<`0x${string}`>)
-
- (args, options?): Promise<`0x${string}`>
-
Parameters
-
args: readonly [`0x${string}`]
-
Optional
options: {
value?: bigint;
}
Returns Promise<`0x${string}`>
-
settleAuction: ((args, options?) => Promise<`0x${string}`>)
-
- (args, options?): Promise<`0x${string}`>
-
Parameters
-
args: readonly [{
loanAddress: `0x${string}`;
loanId: bigint;
highestBid: bigint;
triggerFee: bigint;
minBid: bigint;
highestBidder: `0x${string}`;
duration: bigint;
asset: `0x${string}`;
startTime: bigint;
originator: `0x${string}`;
lastBidTime: bigint;
}, {
borrower: `0x${string}`;
nftCollateralTokenId: bigint;
nftCollateralAddress: `0x${string}`;
principalAddress: `0x${string}`;
principalAmount: bigint;
startTime: bigint;
duration: bigint;
tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
protocolFee: bigint;
}] | readonly [{
loanAddress: `0x${string}`;
loanId: bigint;
highestBid: bigint;
triggerFee: bigint;
minBid: bigint;
highestBidder: `0x${string}`;
duration: bigint;
asset: `0x${string}`;
startTime: bigint;
originator: `0x${string}`;
lastBidTime: bigint;
}, {
borrower: `0x${string}`;
nftCollateralTokenId: bigint;
nftCollateralAddress: `0x${string}`;
principalAddress: `0x${string}`;
principalAmount: bigint;
startTime: bigint;
duration: bigint;
tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
protocolFee: bigint;
}] & readonly [{
loanAddress: `0x${string}`;
loanId: bigint;
highestBid: bigint;
triggerFee: bigint;
minBid: bigint;
highestBidder: `0x${string}`;
duration: bigint;
asset: `0x${string}`;
startTime: bigint;
originator: `0x${string}`;
lastBidTime: bigint;
}, {
borrower: `0x${string}`;
nftCollateralTokenId: bigint;
nftCollateralAddress: `0x${string}`;
principalAddress: `0x${string}`;
principalAmount: bigint;
startTime: bigint;
duration: bigint;
tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
protocolFee: bigint;
}]
-
Optional
options: {
value?: bigint;
}
Returns Promise<`0x${string}`>
-
updateTriggerFee: ((args, options?) => Promise<`0x${string}`>)
-
- (args, options?): Promise<`0x${string}`>
-
Parameters
-
args: readonly [bigint]
-
Optional
options: {
value?: bigint;
}
Returns Promise<`0x${string}`>
-
updateLiquidationDistributor: ((args, options?) => Promise<`0x${string}`>)
-
- (args, options?): Promise<`0x${string}`>
-
Parameters
-
args: readonly [`0x${string}`]
-
Optional
options: {
value?: bigint;
}
Returns Promise<`0x${string}`>
-
setTimeForMainLenderToBuy: ((args, options?) => Promise<`0x${string}`>)
-
- (args, options?): Promise<`0x${string}`>
-
Parameters
-
args: readonly [bigint]
-
Optional
options: {
value?: bigint;
}
Returns Promise<`0x${string}`>
-
settleWithBuyout: ((args, options?) => Promise<`0x${string}`>)
-
- (args, options?): Promise<`0x${string}`>
-
Parameters
-
args: readonly [`0x${string}`, bigint, {
loanAddress: `0x${string}`;
loanId: bigint;
highestBid: bigint;
triggerFee: bigint;
minBid: bigint;
highestBidder: `0x${string}`;
duration: bigint;
asset: `0x${string}`;
startTime: bigint;
originator: `0x${string}`;
lastBidTime: bigint;
}, {
borrower: `0x${string}`;
nftCollateralTokenId: bigint;
nftCollateralAddress: `0x${string}`;
principalAddress: `0x${string}`;
principalAmount: bigint;
startTime: bigint;
duration: bigint;
tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
protocolFee: bigint;
}] | readonly [`0x${string}`, bigint, {
loanAddress: `0x${string}`;
loanId: bigint;
highestBid: bigint;
triggerFee: bigint;
minBid: bigint;
highestBidder: `0x${string}`;
duration: bigint;
asset: `0x${string}`;
startTime: bigint;
originator: `0x${string}`;
lastBidTime: bigint;
}, {
borrower: `0x${string}`;
nftCollateralTokenId: bigint;
nftCollateralAddress: `0x${string}`;
principalAddress: `0x${string}`;
principalAmount: bigint;
startTime: bigint;
duration: bigint;
tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
protocolFee: bigint;
}] & readonly [`0x${string}`, bigint, {
loanAddress: `0x${string}`;
loanId: bigint;
highestBid: bigint;
triggerFee: bigint;
minBid: bigint;
highestBidder: `0x${string}`;
duration: bigint;
asset: `0x${string}`;
startTime: bigint;
originator: `0x${string}`;
lastBidTime: bigint;
}, {
borrower: `0x${string}`;
nftCollateralTokenId: bigint;
nftCollateralAddress: `0x${string}`;
principalAddress: `0x${string}`;
principalAmount: bigint;
startTime: bigint;
duration: bigint;
tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
protocolFee: bigint;
}]
-
Optional
options: {
value?: bigint;
}
Returns Promise<`0x${string}`>
parseEventLogs
parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
type: "constructor";
inputs: readonly [{
name: "liquidationDistributor";
internalType: "address";
type: "address";
}, {
name: "currencyManager";
internalType: "address";
type: "address";
}, {
name: "collectionManager";
internalType: "address";
type: "address";
}, {
name: "loanManagerRegistry";
internalType: "address";
type: "address";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "maxExtension";
internalType: "uint96";
type: "uint96";
}, {
name: "timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "nonpayable";
}, {
type: "error";
inputs: readonly [];
name: "AddressZeroError";
}, {
type: "error";
inputs: readonly [];
name: "AuctionAlreadyInProgressError";
}, {
type: "error";
inputs: readonly [{
name: "_expiration";
internalType: "uint96";
type: "uint96";
}];
name: "AuctionNotOverError";
}, {
type: "error";
inputs: readonly [{
name: "_expiration";
internalType: "uint96";
type: "uint96";
}];
name: "AuctionOverError";
}, {
type: "error";
inputs: readonly [];
name: "CollectionNotWhitelistedError";
}, {
type: "error";
inputs: readonly [];
name: "CouldNotModifyValidLoansError";
}, {
type: "error";
inputs: readonly [];
name: "CurrencyNotWhitelistedError";
}, {
type: "error";
inputs: readonly [];
name: "InvalidHashAuctionError";
}, {
type: "error";
inputs: readonly [];
name: "InvalidInputError";
}, {
type: "error";
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}];
name: "InvalidTriggerFee";
}, {
type: "error";
inputs: readonly [{
name: "_loan";
internalType: "address";
type: "address";
}];
name: "LoanNotAcceptedError";
}, {
type: "error";
inputs: readonly [{
name: "_minBid";
internalType: "uint256";
type: "uint256";
}];
name: "MinBidError";
}, {
type: "error";
inputs: readonly [{
name: "_owner";
internalType: "address";
type: "address";
}];
name: "NFTNotOwnedError";
}, {
type: "error";
inputs: readonly [];
name: "NoBidsError";
}, {
type: "error";
inputs: readonly [];
name: "NotMainLenderError";
}, {
type: "error";
inputs: readonly [{
name: "timeLimit";
internalType: "uint256";
type: "uint256";
}];
name: "OptionToBuyExpiredError";
}, {
type: "error";
inputs: readonly [{
name: "timeLimit";
internalType: "uint256";
type: "uint256";
}];
name: "OptionToBuyStilValidError";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loanContract";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "asset";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "proceeds";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "settler";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "AuctionSettled";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "nftAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "largestTrancheIdx";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "AuctionSettledWithBuyout";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "newBidder";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "bid";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "loanAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "BidPlaced";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "liquidationDistributor";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LiquidationDistributorUpdated";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loan";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LoanContractAdded";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loan";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LoanContractRemoved";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
indexed: false;
}];
name: "LoanLiquidationStarted";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "user";
internalType: "address";
type: "address";
indexed: true;
}, {
name: "newOwner";
internalType: "address";
type: "address";
indexed: true;
}];
name: "OwnershipTransferred";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "TimeForMainLenderToBuyUpdated";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "TriggerFeeUpdated";
}, {
type: "function";
inputs: readonly [];
name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "MAX_TRIGGER_FEE";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "MIN_INCREMENT_BPS";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_loanContract";
internalType: "address";
type: "address";
}];
name: "addLoanContract";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}];
name: "getAuctionHash";
outputs: readonly [{
name: "";
internalType: "bytes32";
type: "bytes32";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getLiquidationDistributor";
outputs: readonly [{
name: "";
internalType: "address";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getLoanManagerRegistry";
outputs: readonly [{
name: "";
internalType: "contract ILoanManagerRegistry";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getMaxExtension";
outputs: readonly [{
name: "";
internalType: "uint96";
type: "uint96";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getTimeForMainLenderToBuy";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getTriggerFee";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getValidLoanContracts";
outputs: readonly [{
name: "";
internalType: "address[]";
type: "address[]";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_asset";
internalType: "address";
type: "address";
}, {
name: "_duration";
internalType: "uint96";
type: "uint96";
}, {
name: "_minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "_originator";
internalType: "address";
type: "address";
}];
name: "liquidateLoan";
outputs: readonly [{
name: "";
internalType: "bytes";
type: "bytes";
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "";
internalType: "address";
type: "address";
}, {
name: "";
internalType: "address";
type: "address";
}, {
name: "";
internalType: "uint256";
type: "uint256";
}, {
name: "";
internalType: "bytes";
type: "bytes";
}];
name: "onERC721Received";
outputs: readonly [{
name: "";
internalType: "bytes4";
type: "bytes4";
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [];
name: "owner";
outputs: readonly [{
name: "";
internalType: "address";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_bid";
internalType: "uint256";
type: "uint256";
}];
name: "placeBid";
outputs: readonly [{
name: "";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_loanContract";
internalType: "address";
type: "address";
}];
name: "removeLoanContract";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "__timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
}];
name: "setTimeForMainLenderToBuy";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_loan";
internalType: "struct IMultiSourceLoan.Loan";
type: "tuple";
components: readonly [{
name: "borrower";
internalType: "address";
type: "address";
}, {
name: "nftCollateralTokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "nftCollateralAddress";
internalType: "address";
type: "address";
}, {
name: "principalAddress";
internalType: "address";
type: "address";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "duration";
internalType: "uint256";
type: "uint256";
}, {
name: "tranche";
internalType: "struct IMultiSourceLoan.Tranche[]";
type: "tuple[]";
components: readonly [{
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "floor";
internalType: "uint256";
type: "uint256";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "lender";
internalType: "address";
type: "address";
}, {
name: "accruedInterest";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "aprBps";
internalType: "uint256";
type: "uint256";
}];
}, {
name: "protocolFee";
internalType: "uint256";
type: "uint256";
}];
}];
name: "settleAuction";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_loan";
internalType: "struct IMultiSourceLoan.Loan";
type: "tuple";
components: readonly [{
name: "borrower";
internalType: "address";
type: "address";
}, {
name: "nftCollateralTokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "nftCollateralAddress";
internalType: "address";
type: "address";
}, {
name: "principalAddress";
internalType: "address";
type: "address";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "duration";
internalType: "uint256";
type: "uint256";
}, {
name: "tranche";
internalType: "struct IMultiSourceLoan.Tranche[]";
type: "tuple[]";
components: readonly [{
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "floor";
internalType: "uint256";
type: "uint256";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "lender";
internalType: "address";
type: "address";
}, {
name: "accruedInterest";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "aprBps";
internalType: "uint256";
type: "uint256";
}];
}, {
name: "protocolFee";
internalType: "uint256";
type: "uint256";
}];
}];
name: "settleWithBuyout";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "newOwner";
internalType: "address";
type: "address";
}];
name: "transferOwnership";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "__liquidationDistributor";
internalType: "address";
type: "address";
}];
name: "updateLiquidationDistributor";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}];
name: "updateTriggerFee";
outputs: readonly [];
stateMutability: "nonpayable";
}], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated")[]
? TFunctionName[number]
: TFunctionName>)
Type declaration
-
- <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
type: "constructor";
inputs: readonly [{
name: "liquidationDistributor";
internalType: "address";
type: "address";
}, {
name: "currencyManager";
internalType: "address";
type: "address";
}, {
name: "collectionManager";
internalType: "address";
type: "address";
}, {
name: "loanManagerRegistry";
internalType: "address";
type: "address";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "maxExtension";
internalType: "uint96";
type: "uint96";
}, {
name: "timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "nonpayable";
}, {
type: "error";
inputs: readonly [];
name: "AddressZeroError";
}, {
type: "error";
inputs: readonly [];
name: "AuctionAlreadyInProgressError";
}, {
type: "error";
inputs: readonly [{
name: "_expiration";
internalType: "uint96";
type: "uint96";
}];
name: "AuctionNotOverError";
}, {
type: "error";
inputs: readonly [{
name: "_expiration";
internalType: "uint96";
type: "uint96";
}];
name: "AuctionOverError";
}, {
type: "error";
inputs: readonly [];
name: "CollectionNotWhitelistedError";
}, {
type: "error";
inputs: readonly [];
name: "CouldNotModifyValidLoansError";
}, {
type: "error";
inputs: readonly [];
name: "CurrencyNotWhitelistedError";
}, {
type: "error";
inputs: readonly [];
name: "InvalidHashAuctionError";
}, {
type: "error";
inputs: readonly [];
name: "InvalidInputError";
}, {
type: "error";
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}];
name: "InvalidTriggerFee";
}, {
type: "error";
inputs: readonly [{
name: "_loan";
internalType: "address";
type: "address";
}];
name: "LoanNotAcceptedError";
}, {
type: "error";
inputs: readonly [{
name: "_minBid";
internalType: "uint256";
type: "uint256";
}];
name: "MinBidError";
}, {
type: "error";
inputs: readonly [{
name: "_owner";
internalType: "address";
type: "address";
}];
name: "NFTNotOwnedError";
}, {
type: "error";
inputs: readonly [];
name: "NoBidsError";
}, {
type: "error";
inputs: readonly [];
name: "NotMainLenderError";
}, {
type: "error";
inputs: readonly [{
name: "timeLimit";
internalType: "uint256";
type: "uint256";
}];
name: "OptionToBuyExpiredError";
}, {
type: "error";
inputs: readonly [{
name: "timeLimit";
internalType: "uint256";
type: "uint256";
}];
name: "OptionToBuyStilValidError";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loanContract";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "asset";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "proceeds";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "settler";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "AuctionSettled";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "nftAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "largestTrancheIdx";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "AuctionSettledWithBuyout";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "newBidder";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "bid";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "loanAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "BidPlaced";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "liquidationDistributor";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LiquidationDistributorUpdated";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loan";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LoanContractAdded";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loan";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LoanContractRemoved";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
indexed: false;
}];
name: "LoanLiquidationStarted";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "user";
internalType: "address";
type: "address";
indexed: true;
}, {
name: "newOwner";
internalType: "address";
type: "address";
indexed: true;
}];
name: "OwnershipTransferred";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "TimeForMainLenderToBuyUpdated";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "TriggerFeeUpdated";
}, {
type: "function";
inputs: readonly [];
name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "MAX_TRIGGER_FEE";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "MIN_INCREMENT_BPS";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_loanContract";
internalType: "address";
type: "address";
}];
name: "addLoanContract";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}];
name: "getAuctionHash";
outputs: readonly [{
name: "";
internalType: "bytes32";
type: "bytes32";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getLiquidationDistributor";
outputs: readonly [{
name: "";
internalType: "address";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getLoanManagerRegistry";
outputs: readonly [{
name: "";
internalType: "contract ILoanManagerRegistry";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getMaxExtension";
outputs: readonly [{
name: "";
internalType: "uint96";
type: "uint96";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getTimeForMainLenderToBuy";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getTriggerFee";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getValidLoanContracts";
outputs: readonly [{
name: "";
internalType: "address[]";
type: "address[]";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_asset";
internalType: "address";
type: "address";
}, {
name: "_duration";
internalType: "uint96";
type: "uint96";
}, {
name: "_minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "_originator";
internalType: "address";
type: "address";
}];
name: "liquidateLoan";
outputs: readonly [{
name: "";
internalType: "bytes";
type: "bytes";
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "";
internalType: "address";
type: "address";
}, {
name: "";
internalType: "address";
type: "address";
}, {
name: "";
internalType: "uint256";
type: "uint256";
}, {
name: "";
internalType: "bytes";
type: "bytes";
}];
name: "onERC721Received";
outputs: readonly [{
name: "";
internalType: "bytes4";
type: "bytes4";
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [];
name: "owner";
outputs: readonly [{
name: "";
internalType: "address";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_bid";
internalType: "uint256";
type: "uint256";
}];
name: "placeBid";
outputs: readonly [{
name: "";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_loanContract";
internalType: "address";
type: "address";
}];
name: "removeLoanContract";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "__timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
}];
name: "setTimeForMainLenderToBuy";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_loan";
internalType: "struct IMultiSourceLoan.Loan";
type: "tuple";
components: readonly [{
name: "borrower";
internalType: "address";
type: "address";
}, {
name: "nftCollateralTokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "nftCollateralAddress";
internalType: "address";
type: "address";
}, {
name: "principalAddress";
internalType: "address";
type: "address";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "duration";
internalType: "uint256";
type: "uint256";
}, {
name: "tranche";
internalType: "struct IMultiSourceLoan.Tranche[]";
type: "tuple[]";
components: readonly [{
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "floor";
internalType: "uint256";
type: "uint256";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "lender";
internalType: "address";
type: "address";
}, {
name: "accruedInterest";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "aprBps";
internalType: "uint256";
type: "uint256";
}];
}, {
name: "protocolFee";
internalType: "uint256";
type: "uint256";
}];
}];
name: "settleAuction";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_loan";
internalType: "struct IMultiSourceLoan.Loan";
type: "tuple";
components: readonly [{
name: "borrower";
internalType: "address";
type: "address";
}, {
name: "nftCollateralTokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "nftCollateralAddress";
internalType: "address";
type: "address";
}, {
name: "principalAddress";
internalType: "address";
type: "address";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "duration";
internalType: "uint256";
type: "uint256";
}, {
name: "tranche";
internalType: "struct IMultiSourceLoan.Tranche[]";
type: "tuple[]";
components: readonly [{
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "floor";
internalType: "uint256";
type: "uint256";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "lender";
internalType: "address";
type: "address";
}, {
name: "accruedInterest";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "aprBps";
internalType: "uint256";
type: "uint256";
}];
}, {
name: "protocolFee";
internalType: "uint256";
type: "uint256";
}];
}];
name: "settleWithBuyout";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "newOwner";
internalType: "address";
type: "address";
}];
name: "transferOwnership";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "__liquidationDistributor";
internalType: "address";
type: "address";
}];
name: "updateLiquidationDistributor";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}];
name: "updateTriggerFee";
outputs: readonly [];
stateMutability: "nonpayable";
}], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated")[]
? TFunctionName[number]
: TFunctionName>
-
Type Parameters
-
TFunctionName extends "OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated"
Parameters
-
eventName: TFunctionName
-
logs: Log<bigint, number, false>[]
Returns ParseEventLogsReturnType<readonly [{
type: "constructor";
inputs: readonly [{
name: "liquidationDistributor";
internalType: "address";
type: "address";
}, {
name: "currencyManager";
internalType: "address";
type: "address";
}, {
name: "collectionManager";
internalType: "address";
type: "address";
}, {
name: "loanManagerRegistry";
internalType: "address";
type: "address";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "maxExtension";
internalType: "uint96";
type: "uint96";
}, {
name: "timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "nonpayable";
}, {
type: "error";
inputs: readonly [];
name: "AddressZeroError";
}, {
type: "error";
inputs: readonly [];
name: "AuctionAlreadyInProgressError";
}, {
type: "error";
inputs: readonly [{
name: "_expiration";
internalType: "uint96";
type: "uint96";
}];
name: "AuctionNotOverError";
}, {
type: "error";
inputs: readonly [{
name: "_expiration";
internalType: "uint96";
type: "uint96";
}];
name: "AuctionOverError";
}, {
type: "error";
inputs: readonly [];
name: "CollectionNotWhitelistedError";
}, {
type: "error";
inputs: readonly [];
name: "CouldNotModifyValidLoansError";
}, {
type: "error";
inputs: readonly [];
name: "CurrencyNotWhitelistedError";
}, {
type: "error";
inputs: readonly [];
name: "InvalidHashAuctionError";
}, {
type: "error";
inputs: readonly [];
name: "InvalidInputError";
}, {
type: "error";
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}];
name: "InvalidTriggerFee";
}, {
type: "error";
inputs: readonly [{
name: "_loan";
internalType: "address";
type: "address";
}];
name: "LoanNotAcceptedError";
}, {
type: "error";
inputs: readonly [{
name: "_minBid";
internalType: "uint256";
type: "uint256";
}];
name: "MinBidError";
}, {
type: "error";
inputs: readonly [{
name: "_owner";
internalType: "address";
type: "address";
}];
name: "NFTNotOwnedError";
}, {
type: "error";
inputs: readonly [];
name: "NoBidsError";
}, {
type: "error";
inputs: readonly [];
name: "NotMainLenderError";
}, {
type: "error";
inputs: readonly [{
name: "timeLimit";
internalType: "uint256";
type: "uint256";
}];
name: "OptionToBuyExpiredError";
}, {
type: "error";
inputs: readonly [{
name: "timeLimit";
internalType: "uint256";
type: "uint256";
}];
name: "OptionToBuyStilValidError";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loanContract";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "asset";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "proceeds";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "settler";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "AuctionSettled";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "nftAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "largestTrancheIdx";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "AuctionSettledWithBuyout";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "newBidder";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "bid";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "loanAddress";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "BidPlaced";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "liquidationDistributor";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LiquidationDistributorUpdated";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loan";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LoanContractAdded";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "loan";
internalType: "address";
type: "address";
indexed: false;
}];
name: "LoanContractRemoved";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "collection";
internalType: "address";
type: "address";
indexed: false;
}, {
name: "tokenId";
internalType: "uint256";
type: "uint256";
indexed: false;
}, {
name: "auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
indexed: false;
}];
name: "LoanLiquidationStarted";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "user";
internalType: "address";
type: "address";
indexed: true;
}, {
name: "newOwner";
internalType: "address";
type: "address";
indexed: true;
}];
name: "OwnershipTransferred";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "TimeForMainLenderToBuyUpdated";
}, {
type: "event";
anonymous: false;
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
indexed: false;
}];
name: "TriggerFeeUpdated";
}, {
type: "function";
inputs: readonly [];
name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "MAX_TRIGGER_FEE";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "MIN_INCREMENT_BPS";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_loanContract";
internalType: "address";
type: "address";
}];
name: "addLoanContract";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}];
name: "getAuctionHash";
outputs: readonly [{
name: "";
internalType: "bytes32";
type: "bytes32";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getLiquidationDistributor";
outputs: readonly [{
name: "";
internalType: "address";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getLoanManagerRegistry";
outputs: readonly [{
name: "";
internalType: "contract ILoanManagerRegistry";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getMaxExtension";
outputs: readonly [{
name: "";
internalType: "uint96";
type: "uint96";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getTimeForMainLenderToBuy";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getTriggerFee";
outputs: readonly [{
name: "";
internalType: "uint256";
type: "uint256";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [];
name: "getValidLoanContracts";
outputs: readonly [{
name: "";
internalType: "address[]";
type: "address[]";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_asset";
internalType: "address";
type: "address";
}, {
name: "_duration";
internalType: "uint96";
type: "uint96";
}, {
name: "_minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "_originator";
internalType: "address";
type: "address";
}];
name: "liquidateLoan";
outputs: readonly [{
name: "";
internalType: "bytes";
type: "bytes";
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "";
internalType: "address";
type: "address";
}, {
name: "";
internalType: "address";
type: "address";
}, {
name: "";
internalType: "uint256";
type: "uint256";
}, {
name: "";
internalType: "bytes";
type: "bytes";
}];
name: "onERC721Received";
outputs: readonly [{
name: "";
internalType: "bytes4";
type: "bytes4";
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [];
name: "owner";
outputs: readonly [{
name: "";
internalType: "address";
type: "address";
}];
stateMutability: "view";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_bid";
internalType: "uint256";
type: "uint256";
}];
name: "placeBid";
outputs: readonly [{
name: "";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_loanContract";
internalType: "address";
type: "address";
}];
name: "removeLoanContract";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "__timeForMainLenderToBuy";
internalType: "uint256";
type: "uint256";
}];
name: "setTimeForMainLenderToBuy";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_loan";
internalType: "struct IMultiSourceLoan.Loan";
type: "tuple";
components: readonly [{
name: "borrower";
internalType: "address";
type: "address";
}, {
name: "nftCollateralTokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "nftCollateralAddress";
internalType: "address";
type: "address";
}, {
name: "principalAddress";
internalType: "address";
type: "address";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "duration";
internalType: "uint256";
type: "uint256";
}, {
name: "tranche";
internalType: "struct IMultiSourceLoan.Tranche[]";
type: "tuple[]";
components: readonly [{
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "floor";
internalType: "uint256";
type: "uint256";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "lender";
internalType: "address";
type: "address";
}, {
name: "accruedInterest";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "aprBps";
internalType: "uint256";
type: "uint256";
}];
}, {
name: "protocolFee";
internalType: "uint256";
type: "uint256";
}];
}];
name: "settleAuction";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "_nftAddress";
internalType: "address";
type: "address";
}, {
name: "_tokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "_auction";
internalType: "struct IAuctionLoanLiquidator.Auction";
type: "tuple";
components: readonly [{
name: "loanAddress";
internalType: "address";
type: "address";
}, {
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBid";
internalType: "uint256";
type: "uint256";
}, {
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}, {
name: "minBid";
internalType: "uint256";
type: "uint256";
}, {
name: "highestBidder";
internalType: "address";
type: "address";
}, {
name: "duration";
internalType: "uint96";
type: "uint96";
}, {
name: "asset";
internalType: "address";
type: "address";
}, {
name: "startTime";
internalType: "uint96";
type: "uint96";
}, {
name: "originator";
internalType: "address";
type: "address";
}, {
name: "lastBidTime";
internalType: "uint96";
type: "uint96";
}];
}, {
name: "_loan";
internalType: "struct IMultiSourceLoan.Loan";
type: "tuple";
components: readonly [{
name: "borrower";
internalType: "address";
type: "address";
}, {
name: "nftCollateralTokenId";
internalType: "uint256";
type: "uint256";
}, {
name: "nftCollateralAddress";
internalType: "address";
type: "address";
}, {
name: "principalAddress";
internalType: "address";
type: "address";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "duration";
internalType: "uint256";
type: "uint256";
}, {
name: "tranche";
internalType: "struct IMultiSourceLoan.Tranche[]";
type: "tuple[]";
components: readonly [{
name: "loanId";
internalType: "uint256";
type: "uint256";
}, {
name: "floor";
internalType: "uint256";
type: "uint256";
}, {
name: "principalAmount";
internalType: "uint256";
type: "uint256";
}, {
name: "lender";
internalType: "address";
type: "address";
}, {
name: "accruedInterest";
internalType: "uint256";
type: "uint256";
}, {
name: "startTime";
internalType: "uint256";
type: "uint256";
}, {
name: "aprBps";
internalType: "uint256";
type: "uint256";
}];
}, {
name: "protocolFee";
internalType: "uint256";
type: "uint256";
}];
}];
name: "settleWithBuyout";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "newOwner";
internalType: "address";
type: "address";
}];
name: "transferOwnership";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "__liquidationDistributor";
internalType: "address";
type: "address";
}];
name: "updateLiquidationDistributor";
outputs: readonly [];
stateMutability: "nonpayable";
}, {
type: "function";
inputs: readonly [{
name: "triggerFee";
internalType: "uint256";
type: "uint256";
}];
name: "updateTriggerFee";
outputs: readonly [];
stateMutability: "nonpayable";
}], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated")[]
? TFunctionName[number]
: TFunctionName>