Hierarchy

Constructors

Methods

  • Parameters

    • __namedParameters: {
          collectionContractAddress: `0x${string}`;
          tokenId: bigint;
          bid: bigint;
          auction: Auction;
      }
      • collectionContractAddress: `0x${string}`
      • tokenId: bigint
      • bid: bigint
      • auction: Auction

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            collection: `0x${string}`;
            tokenId: bigint;
            newBidder: `0x${string}`;
            bid: bigint;
            loanAddress: `0x${string}`;
            loanId: bigint;
        }>);
    }>

  • Parameters

    Returns Promise<number>

  • Parameters

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loanAddress: `0x${string}`;
            loanId: bigint;
            nftAddress: `0x${string}`;
            tokenId: bigint;
            largestTrancheIdx: bigint;
        }>);
    }>

  • Parameters

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loanContract: `0x${string}`;
            loanId: bigint;
            collection: `0x${string}`;
            tokenId: bigint;
            asset: `0x${string}`;
            proceeds: bigint;
            settler: `0x${string}`;
            triggerFee: bigint;
        }>);
    }>

Properties

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: `0x${string}`
bcClient: {}

Type declaration

    wallet: {}

    Type declaration

      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: {
          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;
              }
              • Optional 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;
              }
              • Optional 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;
              }
              • Optional 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;
              }
              • Optional 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;
              }
              • Optional 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;
              }
              • Optional 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;
              }
              • Optional 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;
              }
              • Optional 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;
              }
              • Optional 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;
              }
              • Optional 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;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      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>