The AuctionLoanLiquidator of contract version 3.2. Its Auction struct carries loanHash and buyoutWindow on top of the version 3 struct, and an outbid bidder whose refund transfer failed claims it with claimRefund.

Hierarchy

Constructors

Methods

  • Parameters

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

    Returns Promise<boolean>

  • Reads the auction's current struct from the chain, with the NFT it auctions (see readAuction), including the loanHash and buyoutWindow only its start event carries.

    Parameters

    Returns Promise<{
        auction: {
            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;
            loanHash: `0x${string}`;
            buyoutWindow: bigint;
        };
        collectionContractAddress: `0x${string}`;
        tokenId: bigint;
    }>

  • Bids on the auction, rebuilding it from the chain when the caller's struct lacks the v3.2 fields or a bid placed since the caller read it makes the liquidator reject it.

    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;
        }>);
    }>

  • Seconds left before bids open, while the loan's main lender may still buy the other lenders out. v3.2 snapshots that window into each auction when it starts, and it is 0 when the main lender is a pool, so the liquidator's current setting does not apply. The window comes from the caller's struct when it has one, and from the chain once per auction otherwise.

    Parameters

    • __namedParameters: {
          auction: AuctionIdentity & Partial<Pick<{
              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;
              loanHash: `0x${string}`;
              buyoutWindow: bigint;
          }, "buyoutWindow">>;
      }
      • auction: AuctionIdentity & Partial<Pick<{
            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;
            loanHash: `0x${string}`;
            buyoutWindow: bigint;
        }, "buyoutWindow">>

    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;
        }>);
    }>

  • The bid refund in token that the liquidator holds for bidder because its transfer failed.

    Parameters

    • __namedParameters: {
          bidder: `0x${string}`;
          token: `0x${string}`;
      }
      • bidder: `0x${string}`
      • token: `0x${string}`

    Returns Promise<bigint>

  • Sends the wallet the bid refund in token the liquidator holds for it.

    Parameters

    • __namedParameters: {
          token: `0x${string}`;
      }
      • token: `0x${string}`

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            bidder: `0x${string}`;
            asset: `0x${string}`;
            amount: bigint;
        }>);
    }>

  • Parameters

    • data: `0x${string}`
    • Optional value: bigint

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<TransactionReceipt>);
    }>

Properties

abi: readonly [{
    type: "constructor";
    inputs: readonly [{
        name: "liquidationDistributor";
        type: "address";
        internalType: "address";
    }, {
        name: "currencyManager";
        type: "address";
        internalType: "address";
    }, {
        name: "collectionManager";
        type: "address";
        internalType: "address";
    }, {
        name: "loanManagerRegistry";
        type: "address";
        internalType: "address";
    }, {
        name: "triggerFee";
        type: "uint256";
        internalType: "uint256";
    }, {
        name: "maxExtension";
        type: "uint96";
        internalType: "uint96";
    }, {
        name: "timeForMainLenderToBuy";
        type: "uint256";
        internalType: "uint256";
    }, {
        name: "minWaitTime";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "MAX_TRIGGER_FEE";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "MIN_INCREMENT_BPS";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "MIN_WAIT_TIME";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "addLoanContract";
    inputs: readonly [{
        name: "_loanContract";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "cancelAuction";
    inputs: readonly [{
        name: "_auction";
        type: "tuple";
        internalType: "struct IAuctionLoanLiquidator.Auction";
        components: readonly [{
            name: "loanAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "loanId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "triggerFee";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "minBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBidder";
            type: "address";
            internalType: "address";
        }, {
            name: "duration";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "asset";
            type: "address";
            internalType: "address";
        }, {
            name: "startTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "originator";
            type: "address";
            internalType: "address";
        }, {
            name: "lastBidTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "loanHash";
            type: "bytes32";
            internalType: "bytes32";
        }, {
            name: "buyoutWindow";
            type: "uint96";
            internalType: "uint96";
        }];
    }, {
        name: "_loan";
        type: "tuple";
        internalType: "struct IMultiSourceLoan.Loan";
        components: readonly [{
            name: "borrower";
            type: "address";
            internalType: "address";
        }, {
            name: "nftCollateralTokenId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "nftCollateralAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAmount";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "startTime";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "duration";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "tranche";
            type: "tuple[]";
            internalType: "struct IMultiSourceLoan.Tranche[]";
            components: readonly [{
                name: "loanId";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "floor";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "principalAmount";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "lender";
                type: "address";
                internalType: "address";
            }, {
                name: "accruedInterest";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "startTime";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "aprBps";
                type: "uint256";
                internalType: "uint256";
            }];
        }, {
            name: "protocolFee";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "lenderRefinanceDisabled";
            type: "bool";
            internalType: "bool";
        }];
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "claimRefund";
    inputs: readonly [{
        name: "_token";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "getAuctionHash";
    inputs: readonly [{
        name: "_nftAddress";
        type: "address";
        internalType: "address";
    }, {
        name: "_tokenId";
        type: "uint256";
        internalType: "uint256";
    }];
    outputs: readonly [{
        name: "";
        type: "bytes32";
        internalType: "bytes32";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getLiquidationDistributor";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "address";
        internalType: "address";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getLoanManagerRegistry";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "address";
        internalType: "contract ILoanManagerRegistry";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getMaxExtension";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint96";
        internalType: "uint96";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getMinBidForCurrency";
    inputs: readonly [{
        name: "_currency";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getPendingRefunds";
    inputs: readonly [{
        name: "_bidder";
        type: "address";
        internalType: "address";
    }, {
        name: "_token";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getTimeForMainLenderToBuy";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getTriggerFee";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "getValidLoanContracts";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "address[]";
        internalType: "address[]";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "liquidateLoan";
    inputs: readonly [{
        name: "_loanId";
        type: "uint256";
        internalType: "uint256";
    }, {
        name: "_loan";
        type: "tuple";
        internalType: "struct IMultiSourceLoan.Loan";
        components: readonly [{
            name: "borrower";
            type: "address";
            internalType: "address";
        }, {
            name: "nftCollateralTokenId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "nftCollateralAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAmount";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "startTime";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "duration";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "tranche";
            type: "tuple[]";
            internalType: "struct IMultiSourceLoan.Tranche[]";
            components: readonly [{
                name: "loanId";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "floor";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "principalAmount";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "lender";
                type: "address";
                internalType: "address";
            }, {
                name: "accruedInterest";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "startTime";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "aprBps";
                type: "uint256";
                internalType: "uint256";
            }];
        }, {
            name: "protocolFee";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "lenderRefinanceDisabled";
            type: "bool";
            internalType: "bool";
        }];
    }, {
        name: "_duration";
        type: "uint96";
        internalType: "uint96";
    }, {
        name: "_minBid";
        type: "uint256";
        internalType: "uint256";
    }, {
        name: "_originator";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [{
        name: "";
        type: "bytes";
        internalType: "bytes";
    }];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "onERC721Received";
    inputs: readonly [{
        name: "";
        type: "address";
        internalType: "address";
    }, {
        name: "";
        type: "address";
        internalType: "address";
    }, {
        name: "";
        type: "uint256";
        internalType: "uint256";
    }, {
        name: "";
        type: "bytes";
        internalType: "bytes";
    }];
    outputs: readonly [{
        name: "";
        type: "bytes4";
        internalType: "bytes4";
    }];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "owner";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "address";
        internalType: "address";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "pendingOwner";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "address";
        internalType: "address";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "pendingOwnerTime";
    inputs: readonly [];
    outputs: readonly [{
        name: "";
        type: "uint256";
        internalType: "uint256";
    }];
    stateMutability: "view";
}, {
    type: "function";
    name: "placeBid";
    inputs: readonly [{
        name: "_nftAddress";
        type: "address";
        internalType: "address";
    }, {
        name: "_tokenId";
        type: "uint256";
        internalType: "uint256";
    }, {
        name: "_auction";
        type: "tuple";
        internalType: "struct IAuctionLoanLiquidator.Auction";
        components: readonly [{
            name: "loanAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "loanId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "triggerFee";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "minBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBidder";
            type: "address";
            internalType: "address";
        }, {
            name: "duration";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "asset";
            type: "address";
            internalType: "address";
        }, {
            name: "startTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "originator";
            type: "address";
            internalType: "address";
        }, {
            name: "lastBidTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "loanHash";
            type: "bytes32";
            internalType: "bytes32";
        }, {
            name: "buyoutWindow";
            type: "uint96";
            internalType: "uint96";
        }];
    }, {
        name: "_bid";
        type: "uint256";
        internalType: "uint256";
    }];
    outputs: readonly [{
        name: "";
        type: "tuple";
        internalType: "struct IAuctionLoanLiquidator.Auction";
        components: readonly [{
            name: "loanAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "loanId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "triggerFee";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "minBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBidder";
            type: "address";
            internalType: "address";
        }, {
            name: "duration";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "asset";
            type: "address";
            internalType: "address";
        }, {
            name: "startTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "originator";
            type: "address";
            internalType: "address";
        }, {
            name: "lastBidTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "loanHash";
            type: "bytes32";
            internalType: "bytes32";
        }, {
            name: "buyoutWindow";
            type: "uint96";
            internalType: "uint96";
        }];
    }];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "removeLoanContract";
    inputs: readonly [{
        name: "_loanContract";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "requestTransferOwner";
    inputs: readonly [{
        name: "_newOwner";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "setMinBidForCurrency";
    inputs: readonly [{
        name: "_currency";
        type: "address";
        internalType: "address";
    }, {
        name: "_minBid";
        type: "uint256";
        internalType: "uint256";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "setTimeForMainLenderToBuy";
    inputs: readonly [{
        name: "__timeForMainLenderToBuy";
        type: "uint256";
        internalType: "uint256";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "settleAuction";
    inputs: readonly [{
        name: "_auction";
        type: "tuple";
        internalType: "struct IAuctionLoanLiquidator.Auction";
        components: readonly [{
            name: "loanAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "loanId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "triggerFee";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "minBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBidder";
            type: "address";
            internalType: "address";
        }, {
            name: "duration";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "asset";
            type: "address";
            internalType: "address";
        }, {
            name: "startTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "originator";
            type: "address";
            internalType: "address";
        }, {
            name: "lastBidTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "loanHash";
            type: "bytes32";
            internalType: "bytes32";
        }, {
            name: "buyoutWindow";
            type: "uint96";
            internalType: "uint96";
        }];
    }, {
        name: "_loan";
        type: "tuple";
        internalType: "struct IMultiSourceLoan.Loan";
        components: readonly [{
            name: "borrower";
            type: "address";
            internalType: "address";
        }, {
            name: "nftCollateralTokenId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "nftCollateralAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAmount";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "startTime";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "duration";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "tranche";
            type: "tuple[]";
            internalType: "struct IMultiSourceLoan.Tranche[]";
            components: readonly [{
                name: "loanId";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "floor";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "principalAmount";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "lender";
                type: "address";
                internalType: "address";
            }, {
                name: "accruedInterest";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "startTime";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "aprBps";
                type: "uint256";
                internalType: "uint256";
            }];
        }, {
            name: "protocolFee";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "lenderRefinanceDisabled";
            type: "bool";
            internalType: "bool";
        }];
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "settleWithBuyout";
    inputs: readonly [{
        name: "_nftAddress";
        type: "address";
        internalType: "address";
    }, {
        name: "_tokenId";
        type: "uint256";
        internalType: "uint256";
    }, {
        name: "_auction";
        type: "tuple";
        internalType: "struct IAuctionLoanLiquidator.Auction";
        components: readonly [{
            name: "loanAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "loanId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "triggerFee";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "minBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBidder";
            type: "address";
            internalType: "address";
        }, {
            name: "duration";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "asset";
            type: "address";
            internalType: "address";
        }, {
            name: "startTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "originator";
            type: "address";
            internalType: "address";
        }, {
            name: "lastBidTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "loanHash";
            type: "bytes32";
            internalType: "bytes32";
        }, {
            name: "buyoutWindow";
            type: "uint96";
            internalType: "uint96";
        }];
    }, {
        name: "_loan";
        type: "tuple";
        internalType: "struct IMultiSourceLoan.Loan";
        components: readonly [{
            name: "borrower";
            type: "address";
            internalType: "address";
        }, {
            name: "nftCollateralTokenId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "nftCollateralAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "principalAmount";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "startTime";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "duration";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "tranche";
            type: "tuple[]";
            internalType: "struct IMultiSourceLoan.Tranche[]";
            components: readonly [{
                name: "loanId";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "floor";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "principalAmount";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "lender";
                type: "address";
                internalType: "address";
            }, {
                name: "accruedInterest";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "startTime";
                type: "uint256";
                internalType: "uint256";
            }, {
                name: "aprBps";
                type: "uint256";
                internalType: "uint256";
            }];
        }, {
            name: "protocolFee";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "lenderRefinanceDisabled";
            type: "bool";
            internalType: "bool";
        }];
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "transferOwnership";
    inputs: readonly [];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "updateLiquidationDistributor";
    inputs: readonly [{
        name: "__liquidationDistributor";
        type: "address";
        internalType: "address";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "function";
    name: "updateTriggerFee";
    inputs: readonly [{
        name: "triggerFee";
        type: "uint256";
        internalType: "uint256";
    }];
    outputs: readonly [];
    stateMutability: "nonpayable";
}, {
    type: "event";
    name: "AuctionCancelled";
    inputs: readonly [{
        name: "loanContract";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "loanId";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }, {
        name: "collection";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "tokenId";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }, {
        name: "recipient";
        type: "address";
        indexed: false;
        internalType: "address";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "AuctionSettled";
    inputs: readonly [{
        name: "loanContract";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "loanId";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }, {
        name: "collection";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "tokenId";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }, {
        name: "asset";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "proceeds";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }, {
        name: "settler";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "triggerFee";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "AuctionSettledWithBuyout";
    inputs: readonly [{
        name: "loanAddress";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "loanId";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }, {
        name: "nftAddress";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "tokenId";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }, {
        name: "largestTrancheIdx";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "BidPlaced";
    inputs: readonly [{
        name: "collection";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "tokenId";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }, {
        name: "newBidder";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "bid";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }, {
        name: "loanAddress";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "loanId";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "BidRefundPending";
    inputs: readonly [{
        name: "bidder";
        type: "address";
        indexed: true;
        internalType: "address";
    }, {
        name: "asset";
        type: "address";
        indexed: true;
        internalType: "address";
    }, {
        name: "amount";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "BidRefundWithdrawn";
    inputs: readonly [{
        name: "bidder";
        type: "address";
        indexed: true;
        internalType: "address";
    }, {
        name: "asset";
        type: "address";
        indexed: true;
        internalType: "address";
    }, {
        name: "amount";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "LiquidationDistributorUpdated";
    inputs: readonly [{
        name: "liquidationDistributor";
        type: "address";
        indexed: false;
        internalType: "address";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "LoanContractAdded";
    inputs: readonly [{
        name: "loan";
        type: "address";
        indexed: false;
        internalType: "address";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "LoanContractRemoved";
    inputs: readonly [{
        name: "loan";
        type: "address";
        indexed: false;
        internalType: "address";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "LoanLiquidationStarted";
    inputs: readonly [{
        name: "collection";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "tokenId";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }, {
        name: "auction";
        type: "tuple";
        indexed: false;
        internalType: "struct IAuctionLoanLiquidator.Auction";
        components: readonly [{
            name: "loanAddress";
            type: "address";
            internalType: "address";
        }, {
            name: "loanId";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "triggerFee";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "minBid";
            type: "uint256";
            internalType: "uint256";
        }, {
            name: "highestBidder";
            type: "address";
            internalType: "address";
        }, {
            name: "duration";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "asset";
            type: "address";
            internalType: "address";
        }, {
            name: "startTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "originator";
            type: "address";
            internalType: "address";
        }, {
            name: "lastBidTime";
            type: "uint96";
            internalType: "uint96";
        }, {
            name: "loanHash";
            type: "bytes32";
            internalType: "bytes32";
        }, {
            name: "buyoutWindow";
            type: "uint96";
            internalType: "uint96";
        }];
    }];
    anonymous: false;
}, {
    type: "event";
    name: "MinBidForCurrencyUpdated";
    inputs: readonly [{
        name: "currency";
        type: "address";
        indexed: false;
        internalType: "address";
    }, {
        name: "minBid";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "OwnershipTransferred";
    inputs: readonly [{
        name: "user";
        type: "address";
        indexed: true;
        internalType: "address";
    }, {
        name: "newOwner";
        type: "address";
        indexed: true;
        internalType: "address";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "TimeForMainLenderToBuyUpdated";
    inputs: readonly [{
        name: "timeForMainLenderToBuy";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "TransferOwnerRequested";
    inputs: readonly [{
        name: "newOwner";
        type: "address";
        indexed: false;
        internalType: "address";
    }];
    anonymous: false;
}, {
    type: "event";
    name: "TriggerFeeUpdated";
    inputs: readonly [{
        name: "triggerFee";
        type: "uint256";
        indexed: false;
        internalType: "uint256";
    }];
    anonymous: false;
}, {
    type: "error";
    name: "AddressZeroError";
    inputs: readonly [];
}, {
    type: "error";
    name: "AuctionAlreadyInProgressError";
    inputs: readonly [];
}, {
    type: "error";
    name: "AuctionHasBidsError";
    inputs: readonly [];
}, {
    type: "error";
    name: "AuctionNotExpiredError";
    inputs: readonly [{
        name: "expiration";
        type: "uint96";
        internalType: "uint96";
    }];
}, {
    type: "error";
    name: "AuctionNotOverError";
    inputs: readonly [{
        name: "_expiration";
        type: "uint96";
        internalType: "uint96";
    }];
}, {
    type: "error";
    name: "AuctionOverError";
    inputs: readonly [{
        name: "_expiration";
        type: "uint96";
        internalType: "uint96";
    }];
}, {
    type: "error";
    name: "CollectionNotWhitelistedError";
    inputs: readonly [];
}, {
    type: "error";
    name: "CouldNotModifyValidLoansError";
    inputs: readonly [];
}, {
    type: "error";
    name: "CurrencyNotWhitelistedError";
    inputs: readonly [];
}, {
    type: "error";
    name: "InvalidHashAuctionError";
    inputs: readonly [];
}, {
    type: "error";
    name: "InvalidInputError";
    inputs: readonly [];
}, {
    type: "error";
    name: "InvalidLoanHashError";
    inputs: readonly [];
}, {
    type: "error";
    name: "InvalidTriggerFee";
    inputs: readonly [{
        name: "triggerFee";
        type: "uint256";
        internalType: "uint256";
    }];
}, {
    type: "error";
    name: "LoanNotAcceptedError";
    inputs: readonly [{
        name: "_loan";
        type: "address";
        internalType: "address";
    }];
}, {
    type: "error";
    name: "MinBidError";
    inputs: readonly [{
        name: "_minBid";
        type: "uint256";
        internalType: "uint256";
    }];
}, {
    type: "error";
    name: "MinBidForCurrencyNotSetError";
    inputs: readonly [{
        name: "currency";
        type: "address";
        internalType: "address";
    }];
}, {
    type: "error";
    name: "NFTNotOwnedError";
    inputs: readonly [{
        name: "_owner";
        type: "address";
        internalType: "address";
    }];
}, {
    type: "error";
    name: "NoBidsError";
    inputs: readonly [];
}, {
    type: "error";
    name: "NotMainLenderError";
    inputs: readonly [];
}, {
    type: "error";
    name: "OptionToBuyExpiredError";
    inputs: readonly [{
        name: "timeLimit";
        type: "uint256";
        internalType: "uint256";
    }];
}, {
    type: "error";
    name: "OptionToBuyStilValidError";
    inputs: readonly [{
        name: "timeLimit";
        type: "uint256";
        internalType: "uint256";
    }];
}, {
    type: "error";
    name: "TooSoonError";
    inputs: readonly [];
}]
address: `0x${string}`
bcClient: {}

Type declaration

    wallet: {}

    Type declaration

      contract: GetContractReturnType<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "liquidationDistributor";
              type: "address";
              internalType: "address";
          }, {
              name: "currencyManager";
              type: "address";
              internalType: "address";
          }, {
              name: "collectionManager";
              type: "address";
              internalType: "address";
          }, {
              name: "loanManagerRegistry";
              type: "address";
              internalType: "address";
          }, {
              name: "triggerFee";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "maxExtension";
              type: "uint96";
              internalType: "uint96";
          }, {
              name: "timeForMainLenderToBuy";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "minWaitTime";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "MAX_TRIGGER_FEE";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "MIN_INCREMENT_BPS";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "MIN_WAIT_TIME";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "addLoanContract";
          inputs: readonly [{
              name: "_loanContract";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "cancelAuction";
          inputs: readonly [{
              name: "_auction";
              type: "tuple";
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              name: "_loan";
              type: "tuple";
              internalType: "struct IMultiSourceLoan.Loan";
              components: readonly [{
                  name: "borrower";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "nftCollateralTokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "nftCollateralAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAmount";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "startTime";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "duration";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "tranche";
                  type: "tuple[]";
                  internalType: "struct IMultiSourceLoan.Tranche[]";
                  components: readonly [{
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "floor";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lender";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "accruedInterest";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "aprBps";
                      type: "uint256";
                      internalType: "uint256";
                  }];
              }, {
                  name: "protocolFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "lenderRefinanceDisabled";
                  type: "bool";
                  internalType: "bool";
              }];
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "claimRefund";
          inputs: readonly [{
              name: "_token";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "getAuctionHash";
          inputs: readonly [{
              name: "_nftAddress";
              type: "address";
              internalType: "address";
          }, {
              name: "_tokenId";
              type: "uint256";
              internalType: "uint256";
          }];
          outputs: readonly [{
              name: "";
              type: "bytes32";
              internalType: "bytes32";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getLiquidationDistributor";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "address";
              internalType: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getLoanManagerRegistry";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "address";
              internalType: "contract ILoanManagerRegistry";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getMaxExtension";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint96";
              internalType: "uint96";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getMinBidForCurrency";
          inputs: readonly [{
              name: "_currency";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getPendingRefunds";
          inputs: readonly [{
              name: "_bidder";
              type: "address";
              internalType: "address";
          }, {
              name: "_token";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getTimeForMainLenderToBuy";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getTriggerFee";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getValidLoanContracts";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "address[]";
              internalType: "address[]";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "liquidateLoan";
          inputs: readonly [{
              name: "_loanId";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "_loan";
              type: "tuple";
              internalType: "struct IMultiSourceLoan.Loan";
              components: readonly [{
                  name: "borrower";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "nftCollateralTokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "nftCollateralAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAmount";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "startTime";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "duration";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "tranche";
                  type: "tuple[]";
                  internalType: "struct IMultiSourceLoan.Tranche[]";
                  components: readonly [{
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "floor";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lender";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "accruedInterest";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "aprBps";
                      type: "uint256";
                      internalType: "uint256";
                  }];
              }, {
                  name: "protocolFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "lenderRefinanceDisabled";
                  type: "bool";
                  internalType: "bool";
              }];
          }, {
              name: "_duration";
              type: "uint96";
              internalType: "uint96";
          }, {
              name: "_minBid";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "_originator";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [{
              name: "";
              type: "bytes";
              internalType: "bytes";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "onERC721Received";
          inputs: readonly [{
              name: "";
              type: "address";
              internalType: "address";
          }, {
              name: "";
              type: "address";
              internalType: "address";
          }, {
              name: "";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "";
              type: "bytes";
              internalType: "bytes";
          }];
          outputs: readonly [{
              name: "";
              type: "bytes4";
              internalType: "bytes4";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "owner";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "address";
              internalType: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "pendingOwner";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "address";
              internalType: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "pendingOwnerTime";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "placeBid";
          inputs: readonly [{
              name: "_nftAddress";
              type: "address";
              internalType: "address";
          }, {
              name: "_tokenId";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "_auction";
              type: "tuple";
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              name: "_bid";
              type: "uint256";
              internalType: "uint256";
          }];
          outputs: readonly [{
              name: "";
              type: "tuple";
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "removeLoanContract";
          inputs: readonly [{
              name: "_loanContract";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "requestTransferOwner";
          inputs: readonly [{
              name: "_newOwner";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "setMinBidForCurrency";
          inputs: readonly [{
              name: "_currency";
              type: "address";
              internalType: "address";
          }, {
              name: "_minBid";
              type: "uint256";
              internalType: "uint256";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "setTimeForMainLenderToBuy";
          inputs: readonly [{
              name: "__timeForMainLenderToBuy";
              type: "uint256";
              internalType: "uint256";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "settleAuction";
          inputs: readonly [{
              name: "_auction";
              type: "tuple";
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              name: "_loan";
              type: "tuple";
              internalType: "struct IMultiSourceLoan.Loan";
              components: readonly [{
                  name: "borrower";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "nftCollateralTokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "nftCollateralAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAmount";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "startTime";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "duration";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "tranche";
                  type: "tuple[]";
                  internalType: "struct IMultiSourceLoan.Tranche[]";
                  components: readonly [{
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "floor";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lender";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "accruedInterest";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "aprBps";
                      type: "uint256";
                      internalType: "uint256";
                  }];
              }, {
                  name: "protocolFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "lenderRefinanceDisabled";
                  type: "bool";
                  internalType: "bool";
              }];
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "settleWithBuyout";
          inputs: readonly [{
              name: "_nftAddress";
              type: "address";
              internalType: "address";
          }, {
              name: "_tokenId";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "_auction";
              type: "tuple";
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              name: "_loan";
              type: "tuple";
              internalType: "struct IMultiSourceLoan.Loan";
              components: readonly [{
                  name: "borrower";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "nftCollateralTokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "nftCollateralAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAmount";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "startTime";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "duration";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "tranche";
                  type: "tuple[]";
                  internalType: "struct IMultiSourceLoan.Tranche[]";
                  components: readonly [{
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "floor";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lender";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "accruedInterest";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "aprBps";
                      type: "uint256";
                      internalType: "uint256";
                  }];
              }, {
                  name: "protocolFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "lenderRefinanceDisabled";
                  type: "bool";
                  internalType: "bool";
              }];
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "transferOwnership";
          inputs: readonly [];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "updateLiquidationDistributor";
          inputs: readonly [{
              name: "__liquidationDistributor";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "updateTriggerFee";
          inputs: readonly [{
              name: "triggerFee";
              type: "uint256";
              internalType: "uint256";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "event";
          name: "AuctionCancelled";
          inputs: readonly [{
              name: "loanContract";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "loanId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "collection";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "tokenId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "recipient";
              type: "address";
              indexed: false;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "AuctionSettled";
          inputs: readonly [{
              name: "loanContract";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "loanId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "collection";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "tokenId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "asset";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "proceeds";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "settler";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "triggerFee";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "AuctionSettledWithBuyout";
          inputs: readonly [{
              name: "loanAddress";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "loanId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "nftAddress";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "tokenId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "largestTrancheIdx";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "BidPlaced";
          inputs: readonly [{
              name: "collection";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "tokenId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "newBidder";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "bid";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "loanAddress";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "loanId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "BidRefundPending";
          inputs: readonly [{
              name: "bidder";
              type: "address";
              indexed: true;
              internalType: "address";
          }, {
              name: "asset";
              type: "address";
              indexed: true;
              internalType: "address";
          }, {
              name: "amount";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "BidRefundWithdrawn";
          inputs: readonly [{
              name: "bidder";
              type: "address";
              indexed: true;
              internalType: "address";
          }, {
              name: "asset";
              type: "address";
              indexed: true;
              internalType: "address";
          }, {
              name: "amount";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "LiquidationDistributorUpdated";
          inputs: readonly [{
              name: "liquidationDistributor";
              type: "address";
              indexed: false;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "LoanContractAdded";
          inputs: readonly [{
              name: "loan";
              type: "address";
              indexed: false;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "LoanContractRemoved";
          inputs: readonly [{
              name: "loan";
              type: "address";
              indexed: false;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "LoanLiquidationStarted";
          inputs: readonly [{
              name: "collection";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "tokenId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "auction";
              type: "tuple";
              indexed: false;
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "MinBidForCurrencyUpdated";
          inputs: readonly [{
              name: "currency";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "minBid";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "OwnershipTransferred";
          inputs: readonly [{
              name: "user";
              type: "address";
              indexed: true;
              internalType: "address";
          }, {
              name: "newOwner";
              type: "address";
              indexed: true;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "TimeForMainLenderToBuyUpdated";
          inputs: readonly [{
              name: "timeForMainLenderToBuy";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "TransferOwnerRequested";
          inputs: readonly [{
              name: "newOwner";
              type: "address";
              indexed: false;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "TriggerFeeUpdated";
          inputs: readonly [{
              name: "triggerFee";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "error";
          name: "AddressZeroError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "AuctionAlreadyInProgressError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "AuctionHasBidsError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "AuctionNotExpiredError";
          inputs: readonly [{
              name: "expiration";
              type: "uint96";
              internalType: "uint96";
          }];
      }, {
          type: "error";
          name: "AuctionNotOverError";
          inputs: readonly [{
              name: "_expiration";
              type: "uint96";
              internalType: "uint96";
          }];
      }, {
          type: "error";
          name: "AuctionOverError";
          inputs: readonly [{
              name: "_expiration";
              type: "uint96";
              internalType: "uint96";
          }];
      }, {
          type: "error";
          name: "CollectionNotWhitelistedError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "CouldNotModifyValidLoansError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "CurrencyNotWhitelistedError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "InvalidHashAuctionError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "InvalidInputError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "InvalidLoanHashError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "InvalidTriggerFee";
          inputs: readonly [{
              name: "triggerFee";
              type: "uint256";
              internalType: "uint256";
          }];
      }, {
          type: "error";
          name: "LoanNotAcceptedError";
          inputs: readonly [{
              name: "_loan";
              type: "address";
              internalType: "address";
          }];
      }, {
          type: "error";
          name: "MinBidError";
          inputs: readonly [{
              name: "_minBid";
              type: "uint256";
              internalType: "uint256";
          }];
      }, {
          type: "error";
          name: "MinBidForCurrencyNotSetError";
          inputs: readonly [{
              name: "currency";
              type: "address";
              internalType: "address";
          }];
      }, {
          type: "error";
          name: "NFTNotOwnedError";
          inputs: readonly [{
              name: "_owner";
              type: "address";
              internalType: "address";
          }];
      }, {
          type: "error";
          name: "NoBidsError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "NotMainLenderError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "OptionToBuyExpiredError";
          inputs: readonly [{
              name: "timeLimit";
              type: "uint256";
              internalType: "uint256";
          }];
      }, {
          type: "error";
          name: "OptionToBuyStilValidError";
          inputs: readonly [{
              name: "timeLimit";
              type: "uint256";
              internalType: "uint256";
          }];
      }, {
          type: "error";
          name: "TooSoonError";
          inputs: readonly [];
      }], {} | {}>
      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}`>);
          updateLiquidationDistributor: ((args, options?) => Promise<`0x${string}`>);
          updateTriggerFee: ((args, options?) => Promise<`0x${string}`>);
          setTimeForMainLenderToBuy: ((args, options?) => Promise<`0x${string}`>);
          settleWithBuyout: ((args, options?) => Promise<`0x${string}`>);
          requestTransferOwner: ((args, options?) => Promise<`0x${string}`>);
          cancelAuction: ((args, options?) => Promise<`0x${string}`>);
          claimRefund: ((args, options?) => Promise<`0x${string}`>);
          setMinBidForCurrency: ((args, options?) => Promise<`0x${string}`>);
      }

      Type declaration

      • transferOwnership: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

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

      • addLoanContract: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

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

      • liquidateLoan: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [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;
                  lenderRefinanceDisabled: boolean;
              }, bigint, bigint, `0x${string}`]
            • Optional options: SafeContractWriteOptions

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

      • onERC721Received: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            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;
                  loanHash: `0x${string}`;
                  buyoutWindow: bigint;
              }, bigint]
            • Optional options: SafeContractWriteOptions

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

      • removeLoanContract: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            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;
                  loanHash: `0x${string}`;
                  buyoutWindow: 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;
                  lenderRefinanceDisabled: boolean;
              }]
            • Optional options: SafeContractWriteOptions

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

      • updateLiquidationDistributor: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

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

      • updateTriggerFee: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

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

      • setTimeForMainLenderToBuy: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            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;
                  loanHash: `0x${string}`;
                  buyoutWindow: 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;
                  lenderRefinanceDisabled: boolean;
              }]
            • Optional options: SafeContractWriteOptions

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

      • requestTransferOwner: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

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

      • cancelAuction: ((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;
                  loanHash: `0x${string}`;
                  buyoutWindow: 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;
                  lenderRefinanceDisabled: boolean;
              }]
            • Optional options: SafeContractWriteOptions

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

      • claimRefund: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

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

      • setMinBidForCurrency: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

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

      parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
          type: "constructor";
          inputs: readonly [{
              name: "liquidationDistributor";
              type: "address";
              internalType: "address";
          }, {
              name: "currencyManager";
              type: "address";
              internalType: "address";
          }, {
              name: "collectionManager";
              type: "address";
              internalType: "address";
          }, {
              name: "loanManagerRegistry";
              type: "address";
              internalType: "address";
          }, {
              name: "triggerFee";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "maxExtension";
              type: "uint96";
              internalType: "uint96";
          }, {
              name: "timeForMainLenderToBuy";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "minWaitTime";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "MAX_TRIGGER_FEE";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "MIN_INCREMENT_BPS";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "MIN_WAIT_TIME";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "addLoanContract";
          inputs: readonly [{
              name: "_loanContract";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "cancelAuction";
          inputs: readonly [{
              name: "_auction";
              type: "tuple";
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              name: "_loan";
              type: "tuple";
              internalType: "struct IMultiSourceLoan.Loan";
              components: readonly [{
                  name: "borrower";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "nftCollateralTokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "nftCollateralAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAmount";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "startTime";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "duration";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "tranche";
                  type: "tuple[]";
                  internalType: "struct IMultiSourceLoan.Tranche[]";
                  components: readonly [{
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "floor";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lender";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "accruedInterest";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "aprBps";
                      type: "uint256";
                      internalType: "uint256";
                  }];
              }, {
                  name: "protocolFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "lenderRefinanceDisabled";
                  type: "bool";
                  internalType: "bool";
              }];
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "claimRefund";
          inputs: readonly [{
              name: "_token";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "getAuctionHash";
          inputs: readonly [{
              name: "_nftAddress";
              type: "address";
              internalType: "address";
          }, {
              name: "_tokenId";
              type: "uint256";
              internalType: "uint256";
          }];
          outputs: readonly [{
              name: "";
              type: "bytes32";
              internalType: "bytes32";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getLiquidationDistributor";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "address";
              internalType: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getLoanManagerRegistry";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "address";
              internalType: "contract ILoanManagerRegistry";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getMaxExtension";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint96";
              internalType: "uint96";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getMinBidForCurrency";
          inputs: readonly [{
              name: "_currency";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getPendingRefunds";
          inputs: readonly [{
              name: "_bidder";
              type: "address";
              internalType: "address";
          }, {
              name: "_token";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getTimeForMainLenderToBuy";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getTriggerFee";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "getValidLoanContracts";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "address[]";
              internalType: "address[]";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "liquidateLoan";
          inputs: readonly [{
              name: "_loanId";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "_loan";
              type: "tuple";
              internalType: "struct IMultiSourceLoan.Loan";
              components: readonly [{
                  name: "borrower";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "nftCollateralTokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "nftCollateralAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAmount";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "startTime";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "duration";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "tranche";
                  type: "tuple[]";
                  internalType: "struct IMultiSourceLoan.Tranche[]";
                  components: readonly [{
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "floor";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lender";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "accruedInterest";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "aprBps";
                      type: "uint256";
                      internalType: "uint256";
                  }];
              }, {
                  name: "protocolFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "lenderRefinanceDisabled";
                  type: "bool";
                  internalType: "bool";
              }];
          }, {
              name: "_duration";
              type: "uint96";
              internalType: "uint96";
          }, {
              name: "_minBid";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "_originator";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [{
              name: "";
              type: "bytes";
              internalType: "bytes";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "onERC721Received";
          inputs: readonly [{
              name: "";
              type: "address";
              internalType: "address";
          }, {
              name: "";
              type: "address";
              internalType: "address";
          }, {
              name: "";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "";
              type: "bytes";
              internalType: "bytes";
          }];
          outputs: readonly [{
              name: "";
              type: "bytes4";
              internalType: "bytes4";
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "owner";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "address";
              internalType: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "pendingOwner";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "address";
              internalType: "address";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "pendingOwnerTime";
          inputs: readonly [];
          outputs: readonly [{
              name: "";
              type: "uint256";
              internalType: "uint256";
          }];
          stateMutability: "view";
      }, {
          type: "function";
          name: "placeBid";
          inputs: readonly [{
              name: "_nftAddress";
              type: "address";
              internalType: "address";
          }, {
              name: "_tokenId";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "_auction";
              type: "tuple";
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              name: "_bid";
              type: "uint256";
              internalType: "uint256";
          }];
          outputs: readonly [{
              name: "";
              type: "tuple";
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "removeLoanContract";
          inputs: readonly [{
              name: "_loanContract";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "requestTransferOwner";
          inputs: readonly [{
              name: "_newOwner";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "setMinBidForCurrency";
          inputs: readonly [{
              name: "_currency";
              type: "address";
              internalType: "address";
          }, {
              name: "_minBid";
              type: "uint256";
              internalType: "uint256";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "setTimeForMainLenderToBuy";
          inputs: readonly [{
              name: "__timeForMainLenderToBuy";
              type: "uint256";
              internalType: "uint256";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "settleAuction";
          inputs: readonly [{
              name: "_auction";
              type: "tuple";
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              name: "_loan";
              type: "tuple";
              internalType: "struct IMultiSourceLoan.Loan";
              components: readonly [{
                  name: "borrower";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "nftCollateralTokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "nftCollateralAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAmount";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "startTime";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "duration";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "tranche";
                  type: "tuple[]";
                  internalType: "struct IMultiSourceLoan.Tranche[]";
                  components: readonly [{
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "floor";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lender";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "accruedInterest";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "aprBps";
                      type: "uint256";
                      internalType: "uint256";
                  }];
              }, {
                  name: "protocolFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "lenderRefinanceDisabled";
                  type: "bool";
                  internalType: "bool";
              }];
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "settleWithBuyout";
          inputs: readonly [{
              name: "_nftAddress";
              type: "address";
              internalType: "address";
          }, {
              name: "_tokenId";
              type: "uint256";
              internalType: "uint256";
          }, {
              name: "_auction";
              type: "tuple";
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              name: "_loan";
              type: "tuple";
              internalType: "struct IMultiSourceLoan.Loan";
              components: readonly [{
                  name: "borrower";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "nftCollateralTokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "nftCollateralAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "principalAmount";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "startTime";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "duration";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "tranche";
                  type: "tuple[]";
                  internalType: "struct IMultiSourceLoan.Tranche[]";
                  components: readonly [{
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "floor";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lender";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "accruedInterest";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "aprBps";
                      type: "uint256";
                      internalType: "uint256";
                  }];
              }, {
                  name: "protocolFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "lenderRefinanceDisabled";
                  type: "bool";
                  internalType: "bool";
              }];
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "transferOwnership";
          inputs: readonly [];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "updateLiquidationDistributor";
          inputs: readonly [{
              name: "__liquidationDistributor";
              type: "address";
              internalType: "address";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "function";
          name: "updateTriggerFee";
          inputs: readonly [{
              name: "triggerFee";
              type: "uint256";
              internalType: "uint256";
          }];
          outputs: readonly [];
          stateMutability: "nonpayable";
      }, {
          type: "event";
          name: "AuctionCancelled";
          inputs: readonly [{
              name: "loanContract";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "loanId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "collection";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "tokenId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "recipient";
              type: "address";
              indexed: false;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "AuctionSettled";
          inputs: readonly [{
              name: "loanContract";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "loanId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "collection";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "tokenId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "asset";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "proceeds";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "settler";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "triggerFee";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "AuctionSettledWithBuyout";
          inputs: readonly [{
              name: "loanAddress";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "loanId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "nftAddress";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "tokenId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "largestTrancheIdx";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "BidPlaced";
          inputs: readonly [{
              name: "collection";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "tokenId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "newBidder";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "bid";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "loanAddress";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "loanId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "BidRefundPending";
          inputs: readonly [{
              name: "bidder";
              type: "address";
              indexed: true;
              internalType: "address";
          }, {
              name: "asset";
              type: "address";
              indexed: true;
              internalType: "address";
          }, {
              name: "amount";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "BidRefundWithdrawn";
          inputs: readonly [{
              name: "bidder";
              type: "address";
              indexed: true;
              internalType: "address";
          }, {
              name: "asset";
              type: "address";
              indexed: true;
              internalType: "address";
          }, {
              name: "amount";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "LiquidationDistributorUpdated";
          inputs: readonly [{
              name: "liquidationDistributor";
              type: "address";
              indexed: false;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "LoanContractAdded";
          inputs: readonly [{
              name: "loan";
              type: "address";
              indexed: false;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "LoanContractRemoved";
          inputs: readonly [{
              name: "loan";
              type: "address";
              indexed: false;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "LoanLiquidationStarted";
          inputs: readonly [{
              name: "collection";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "tokenId";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }, {
              name: "auction";
              type: "tuple";
              indexed: false;
              internalType: "struct IAuctionLoanLiquidator.Auction";
              components: readonly [{
                  name: "loanAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "highestBidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "asset";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "startTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "originator";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "lastBidTime";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "loanHash";
                  type: "bytes32";
                  internalType: "bytes32";
              }, {
                  name: "buyoutWindow";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "MinBidForCurrencyUpdated";
          inputs: readonly [{
              name: "currency";
              type: "address";
              indexed: false;
              internalType: "address";
          }, {
              name: "minBid";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "OwnershipTransferred";
          inputs: readonly [{
              name: "user";
              type: "address";
              indexed: true;
              internalType: "address";
          }, {
              name: "newOwner";
              type: "address";
              indexed: true;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "TimeForMainLenderToBuyUpdated";
          inputs: readonly [{
              name: "timeForMainLenderToBuy";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "TransferOwnerRequested";
          inputs: readonly [{
              name: "newOwner";
              type: "address";
              indexed: false;
              internalType: "address";
          }];
          anonymous: false;
      }, {
          type: "event";
          name: "TriggerFeeUpdated";
          inputs: readonly [{
              name: "triggerFee";
              type: "uint256";
              indexed: false;
              internalType: "uint256";
          }];
          anonymous: false;
      }, {
          type: "error";
          name: "AddressZeroError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "AuctionAlreadyInProgressError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "AuctionHasBidsError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "AuctionNotExpiredError";
          inputs: readonly [{
              name: "expiration";
              type: "uint96";
              internalType: "uint96";
          }];
      }, {
          type: "error";
          name: "AuctionNotOverError";
          inputs: readonly [{
              name: "_expiration";
              type: "uint96";
              internalType: "uint96";
          }];
      }, {
          type: "error";
          name: "AuctionOverError";
          inputs: readonly [{
              name: "_expiration";
              type: "uint96";
              internalType: "uint96";
          }];
      }, {
          type: "error";
          name: "CollectionNotWhitelistedError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "CouldNotModifyValidLoansError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "CurrencyNotWhitelistedError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "InvalidHashAuctionError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "InvalidInputError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "InvalidLoanHashError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "InvalidTriggerFee";
          inputs: readonly [{
              name: "triggerFee";
              type: "uint256";
              internalType: "uint256";
          }];
      }, {
          type: "error";
          name: "LoanNotAcceptedError";
          inputs: readonly [{
              name: "_loan";
              type: "address";
              internalType: "address";
          }];
      }, {
          type: "error";
          name: "MinBidError";
          inputs: readonly [{
              name: "_minBid";
              type: "uint256";
              internalType: "uint256";
          }];
      }, {
          type: "error";
          name: "MinBidForCurrencyNotSetError";
          inputs: readonly [{
              name: "currency";
              type: "address";
              internalType: "address";
          }];
      }, {
          type: "error";
          name: "NFTNotOwnedError";
          inputs: readonly [{
              name: "_owner";
              type: "address";
              internalType: "address";
          }];
      }, {
          type: "error";
          name: "NoBidsError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "NotMainLenderError";
          inputs: readonly [];
      }, {
          type: "error";
          name: "OptionToBuyExpiredError";
          inputs: readonly [{
              name: "timeLimit";
              type: "uint256";
              internalType: "uint256";
          }];
      }, {
          type: "error";
          name: "OptionToBuyStilValidError";
          inputs: readonly [{
              name: "timeLimit";
              type: "uint256";
              internalType: "uint256";
          }];
      }, {
          type: "error";
          name: "TooSoonError";
          inputs: readonly [];
      }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LiquidationDistributorUpdated" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated" | "TransferOwnerRequested" | "AuctionCancelled" | "BidRefundPending" | "BidRefundWithdrawn" | "MinBidForCurrencyUpdated")[]
          ? TFunctionName[number]
          : TFunctionName>)

      Type declaration

        • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
              type: "constructor";
              inputs: readonly [{
                  name: "liquidationDistributor";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "currencyManager";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "collectionManager";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanManagerRegistry";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "maxExtension";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "timeForMainLenderToBuy";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minWaitTime";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "MAX_TRIGGER_FEE";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "MIN_INCREMENT_BPS";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "MIN_WAIT_TIME";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "addLoanContract";
              inputs: readonly [{
                  name: "_loanContract";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "cancelAuction";
              inputs: readonly [{
                  name: "_auction";
                  type: "tuple";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }, {
                  name: "_loan";
                  type: "tuple";
                  internalType: "struct IMultiSourceLoan.Loan";
                  components: readonly [{
                      name: "borrower";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "nftCollateralTokenId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "nftCollateralAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "duration";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "tranche";
                      type: "tuple[]";
                      internalType: "struct IMultiSourceLoan.Tranche[]";
                      components: readonly [{
                          name: "loanId";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "floor";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "principalAmount";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "lender";
                          type: "address";
                          internalType: "address";
                      }, {
                          name: "accruedInterest";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "startTime";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "aprBps";
                          type: "uint256";
                          internalType: "uint256";
                      }];
                  }, {
                      name: "protocolFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lenderRefinanceDisabled";
                      type: "bool";
                      internalType: "bool";
                  }];
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "claimRefund";
              inputs: readonly [{
                  name: "_token";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "getAuctionHash";
              inputs: readonly [{
                  name: "_nftAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "_tokenId";
                  type: "uint256";
                  internalType: "uint256";
              }];
              outputs: readonly [{
                  name: "";
                  type: "bytes32";
                  internalType: "bytes32";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getLiquidationDistributor";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "address";
                  internalType: "address";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getLoanManagerRegistry";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "address";
                  internalType: "contract ILoanManagerRegistry";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getMaxExtension";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint96";
                  internalType: "uint96";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getMinBidForCurrency";
              inputs: readonly [{
                  name: "_currency";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getPendingRefunds";
              inputs: readonly [{
                  name: "_bidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "_token";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getTimeForMainLenderToBuy";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getTriggerFee";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getValidLoanContracts";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "address[]";
                  internalType: "address[]";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "liquidateLoan";
              inputs: readonly [{
                  name: "_loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "_loan";
                  type: "tuple";
                  internalType: "struct IMultiSourceLoan.Loan";
                  components: readonly [{
                      name: "borrower";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "nftCollateralTokenId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "nftCollateralAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "duration";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "tranche";
                      type: "tuple[]";
                      internalType: "struct IMultiSourceLoan.Tranche[]";
                      components: readonly [{
                          name: "loanId";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "floor";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "principalAmount";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "lender";
                          type: "address";
                          internalType: "address";
                      }, {
                          name: "accruedInterest";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "startTime";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "aprBps";
                          type: "uint256";
                          internalType: "uint256";
                      }];
                  }, {
                      name: "protocolFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lenderRefinanceDisabled";
                      type: "bool";
                      internalType: "bool";
                  }];
              }, {
                  name: "_duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "_minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "_originator";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [{
                  name: "";
                  type: "bytes";
                  internalType: "bytes";
              }];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "onERC721Received";
              inputs: readonly [{
                  name: "";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "";
                  type: "bytes";
                  internalType: "bytes";
              }];
              outputs: readonly [{
                  name: "";
                  type: "bytes4";
                  internalType: "bytes4";
              }];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "owner";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "address";
                  internalType: "address";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "pendingOwner";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "address";
                  internalType: "address";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "pendingOwnerTime";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "placeBid";
              inputs: readonly [{
                  name: "_nftAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "_tokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "_auction";
                  type: "tuple";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }, {
                  name: "_bid";
                  type: "uint256";
                  internalType: "uint256";
              }];
              outputs: readonly [{
                  name: "";
                  type: "tuple";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "removeLoanContract";
              inputs: readonly [{
                  name: "_loanContract";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "requestTransferOwner";
              inputs: readonly [{
                  name: "_newOwner";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "setMinBidForCurrency";
              inputs: readonly [{
                  name: "_currency";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "_minBid";
                  type: "uint256";
                  internalType: "uint256";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "setTimeForMainLenderToBuy";
              inputs: readonly [{
                  name: "__timeForMainLenderToBuy";
                  type: "uint256";
                  internalType: "uint256";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "settleAuction";
              inputs: readonly [{
                  name: "_auction";
                  type: "tuple";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }, {
                  name: "_loan";
                  type: "tuple";
                  internalType: "struct IMultiSourceLoan.Loan";
                  components: readonly [{
                      name: "borrower";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "nftCollateralTokenId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "nftCollateralAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "duration";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "tranche";
                      type: "tuple[]";
                      internalType: "struct IMultiSourceLoan.Tranche[]";
                      components: readonly [{
                          name: "loanId";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "floor";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "principalAmount";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "lender";
                          type: "address";
                          internalType: "address";
                      }, {
                          name: "accruedInterest";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "startTime";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "aprBps";
                          type: "uint256";
                          internalType: "uint256";
                      }];
                  }, {
                      name: "protocolFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lenderRefinanceDisabled";
                      type: "bool";
                      internalType: "bool";
                  }];
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "settleWithBuyout";
              inputs: readonly [{
                  name: "_nftAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "_tokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "_auction";
                  type: "tuple";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }, {
                  name: "_loan";
                  type: "tuple";
                  internalType: "struct IMultiSourceLoan.Loan";
                  components: readonly [{
                      name: "borrower";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "nftCollateralTokenId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "nftCollateralAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "duration";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "tranche";
                      type: "tuple[]";
                      internalType: "struct IMultiSourceLoan.Tranche[]";
                      components: readonly [{
                          name: "loanId";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "floor";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "principalAmount";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "lender";
                          type: "address";
                          internalType: "address";
                      }, {
                          name: "accruedInterest";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "startTime";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "aprBps";
                          type: "uint256";
                          internalType: "uint256";
                      }];
                  }, {
                      name: "protocolFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lenderRefinanceDisabled";
                      type: "bool";
                      internalType: "bool";
                  }];
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "transferOwnership";
              inputs: readonly [];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "updateLiquidationDistributor";
              inputs: readonly [{
                  name: "__liquidationDistributor";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "updateTriggerFee";
              inputs: readonly [{
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "event";
              name: "AuctionCancelled";
              inputs: readonly [{
                  name: "loanContract";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "collection";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "tokenId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "recipient";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "AuctionSettled";
              inputs: readonly [{
                  name: "loanContract";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "collection";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "tokenId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "asset";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "proceeds";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "settler";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "AuctionSettledWithBuyout";
              inputs: readonly [{
                  name: "loanAddress";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "nftAddress";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "tokenId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "largestTrancheIdx";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "BidPlaced";
              inputs: readonly [{
                  name: "collection";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "tokenId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "newBidder";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "bid";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "loanAddress";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "BidRefundPending";
              inputs: readonly [{
                  name: "bidder";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }, {
                  name: "asset";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }, {
                  name: "amount";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "BidRefundWithdrawn";
              inputs: readonly [{
                  name: "bidder";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }, {
                  name: "asset";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }, {
                  name: "amount";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "LiquidationDistributorUpdated";
              inputs: readonly [{
                  name: "liquidationDistributor";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "LoanContractAdded";
              inputs: readonly [{
                  name: "loan";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "LoanContractRemoved";
              inputs: readonly [{
                  name: "loan";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "LoanLiquidationStarted";
              inputs: readonly [{
                  name: "collection";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "tokenId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "auction";
                  type: "tuple";
                  indexed: false;
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "MinBidForCurrencyUpdated";
              inputs: readonly [{
                  name: "currency";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "minBid";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "OwnershipTransferred";
              inputs: readonly [{
                  name: "user";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }, {
                  name: "newOwner";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "TimeForMainLenderToBuyUpdated";
              inputs: readonly [{
                  name: "timeForMainLenderToBuy";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "TransferOwnerRequested";
              inputs: readonly [{
                  name: "newOwner";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "TriggerFeeUpdated";
              inputs: readonly [{
                  name: "triggerFee";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "error";
              name: "AddressZeroError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "AuctionAlreadyInProgressError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "AuctionHasBidsError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "AuctionNotExpiredError";
              inputs: readonly [{
                  name: "expiration";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              type: "error";
              name: "AuctionNotOverError";
              inputs: readonly [{
                  name: "_expiration";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              type: "error";
              name: "AuctionOverError";
              inputs: readonly [{
                  name: "_expiration";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              type: "error";
              name: "CollectionNotWhitelistedError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "CouldNotModifyValidLoansError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "CurrencyNotWhitelistedError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "InvalidHashAuctionError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "InvalidInputError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "InvalidLoanHashError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "InvalidTriggerFee";
              inputs: readonly [{
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }];
          }, {
              type: "error";
              name: "LoanNotAcceptedError";
              inputs: readonly [{
                  name: "_loan";
                  type: "address";
                  internalType: "address";
              }];
          }, {
              type: "error";
              name: "MinBidError";
              inputs: readonly [{
                  name: "_minBid";
                  type: "uint256";
                  internalType: "uint256";
              }];
          }, {
              type: "error";
              name: "MinBidForCurrencyNotSetError";
              inputs: readonly [{
                  name: "currency";
                  type: "address";
                  internalType: "address";
              }];
          }, {
              type: "error";
              name: "NFTNotOwnedError";
              inputs: readonly [{
                  name: "_owner";
                  type: "address";
                  internalType: "address";
              }];
          }, {
              type: "error";
              name: "NoBidsError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "NotMainLenderError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "OptionToBuyExpiredError";
              inputs: readonly [{
                  name: "timeLimit";
                  type: "uint256";
                  internalType: "uint256";
              }];
          }, {
              type: "error";
              name: "OptionToBuyStilValidError";
              inputs: readonly [{
                  name: "timeLimit";
                  type: "uint256";
                  internalType: "uint256";
              }];
          }, {
              type: "error";
              name: "TooSoonError";
              inputs: readonly [];
          }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LiquidationDistributorUpdated" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated" | "TransferOwnerRequested" | "AuctionCancelled" | "BidRefundPending" | "BidRefundWithdrawn" | "MinBidForCurrencyUpdated")[]
              ? TFunctionName[number]
              : TFunctionName>
        • Type Parameters

          • TFunctionName extends "OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LiquidationDistributorUpdated" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated" | "TransferOwnerRequested" | "AuctionCancelled" | "BidRefundPending" | "BidRefundWithdrawn" | "MinBidForCurrencyUpdated"

          Parameters

          • eventName: TFunctionName
          • logs: Log<bigint, number, false>[]

          Returns ParseEventLogsReturnType<readonly [{
              type: "constructor";
              inputs: readonly [{
                  name: "liquidationDistributor";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "currencyManager";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "collectionManager";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "loanManagerRegistry";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "maxExtension";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "timeForMainLenderToBuy";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "minWaitTime";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "MAX_TRIGGER_FEE";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "MIN_INCREMENT_BPS";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "MIN_WAIT_TIME";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "addLoanContract";
              inputs: readonly [{
                  name: "_loanContract";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "cancelAuction";
              inputs: readonly [{
                  name: "_auction";
                  type: "tuple";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }, {
                  name: "_loan";
                  type: "tuple";
                  internalType: "struct IMultiSourceLoan.Loan";
                  components: readonly [{
                      name: "borrower";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "nftCollateralTokenId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "nftCollateralAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "duration";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "tranche";
                      type: "tuple[]";
                      internalType: "struct IMultiSourceLoan.Tranche[]";
                      components: readonly [{
                          name: "loanId";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "floor";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "principalAmount";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "lender";
                          type: "address";
                          internalType: "address";
                      }, {
                          name: "accruedInterest";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "startTime";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "aprBps";
                          type: "uint256";
                          internalType: "uint256";
                      }];
                  }, {
                      name: "protocolFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lenderRefinanceDisabled";
                      type: "bool";
                      internalType: "bool";
                  }];
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "claimRefund";
              inputs: readonly [{
                  name: "_token";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "getAuctionHash";
              inputs: readonly [{
                  name: "_nftAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "_tokenId";
                  type: "uint256";
                  internalType: "uint256";
              }];
              outputs: readonly [{
                  name: "";
                  type: "bytes32";
                  internalType: "bytes32";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getLiquidationDistributor";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "address";
                  internalType: "address";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getLoanManagerRegistry";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "address";
                  internalType: "contract ILoanManagerRegistry";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getMaxExtension";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint96";
                  internalType: "uint96";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getMinBidForCurrency";
              inputs: readonly [{
                  name: "_currency";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getPendingRefunds";
              inputs: readonly [{
                  name: "_bidder";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "_token";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getTimeForMainLenderToBuy";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getTriggerFee";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "getValidLoanContracts";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "address[]";
                  internalType: "address[]";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "liquidateLoan";
              inputs: readonly [{
                  name: "_loanId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "_loan";
                  type: "tuple";
                  internalType: "struct IMultiSourceLoan.Loan";
                  components: readonly [{
                      name: "borrower";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "nftCollateralTokenId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "nftCollateralAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "duration";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "tranche";
                      type: "tuple[]";
                      internalType: "struct IMultiSourceLoan.Tranche[]";
                      components: readonly [{
                          name: "loanId";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "floor";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "principalAmount";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "lender";
                          type: "address";
                          internalType: "address";
                      }, {
                          name: "accruedInterest";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "startTime";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "aprBps";
                          type: "uint256";
                          internalType: "uint256";
                      }];
                  }, {
                      name: "protocolFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lenderRefinanceDisabled";
                      type: "bool";
                      internalType: "bool";
                  }];
              }, {
                  name: "_duration";
                  type: "uint96";
                  internalType: "uint96";
              }, {
                  name: "_minBid";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "_originator";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [{
                  name: "";
                  type: "bytes";
                  internalType: "bytes";
              }];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "onERC721Received";
              inputs: readonly [{
                  name: "";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "";
                  type: "bytes";
                  internalType: "bytes";
              }];
              outputs: readonly [{
                  name: "";
                  type: "bytes4";
                  internalType: "bytes4";
              }];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "owner";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "address";
                  internalType: "address";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "pendingOwner";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "address";
                  internalType: "address";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "pendingOwnerTime";
              inputs: readonly [];
              outputs: readonly [{
                  name: "";
                  type: "uint256";
                  internalType: "uint256";
              }];
              stateMutability: "view";
          }, {
              type: "function";
              name: "placeBid";
              inputs: readonly [{
                  name: "_nftAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "_tokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "_auction";
                  type: "tuple";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }, {
                  name: "_bid";
                  type: "uint256";
                  internalType: "uint256";
              }];
              outputs: readonly [{
                  name: "";
                  type: "tuple";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "removeLoanContract";
              inputs: readonly [{
                  name: "_loanContract";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "requestTransferOwner";
              inputs: readonly [{
                  name: "_newOwner";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "setMinBidForCurrency";
              inputs: readonly [{
                  name: "_currency";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "_minBid";
                  type: "uint256";
                  internalType: "uint256";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "setTimeForMainLenderToBuy";
              inputs: readonly [{
                  name: "__timeForMainLenderToBuy";
                  type: "uint256";
                  internalType: "uint256";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "settleAuction";
              inputs: readonly [{
                  name: "_auction";
                  type: "tuple";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }, {
                  name: "_loan";
                  type: "tuple";
                  internalType: "struct IMultiSourceLoan.Loan";
                  components: readonly [{
                      name: "borrower";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "nftCollateralTokenId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "nftCollateralAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "duration";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "tranche";
                      type: "tuple[]";
                      internalType: "struct IMultiSourceLoan.Tranche[]";
                      components: readonly [{
                          name: "loanId";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "floor";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "principalAmount";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "lender";
                          type: "address";
                          internalType: "address";
                      }, {
                          name: "accruedInterest";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "startTime";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "aprBps";
                          type: "uint256";
                          internalType: "uint256";
                      }];
                  }, {
                      name: "protocolFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lenderRefinanceDisabled";
                      type: "bool";
                      internalType: "bool";
                  }];
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "settleWithBuyout";
              inputs: readonly [{
                  name: "_nftAddress";
                  type: "address";
                  internalType: "address";
              }, {
                  name: "_tokenId";
                  type: "uint256";
                  internalType: "uint256";
              }, {
                  name: "_auction";
                  type: "tuple";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }, {
                  name: "_loan";
                  type: "tuple";
                  internalType: "struct IMultiSourceLoan.Loan";
                  components: readonly [{
                      name: "borrower";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "nftCollateralTokenId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "nftCollateralAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "principalAmount";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "startTime";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "duration";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "tranche";
                      type: "tuple[]";
                      internalType: "struct IMultiSourceLoan.Tranche[]";
                      components: readonly [{
                          name: "loanId";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "floor";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "principalAmount";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "lender";
                          type: "address";
                          internalType: "address";
                      }, {
                          name: "accruedInterest";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "startTime";
                          type: "uint256";
                          internalType: "uint256";
                      }, {
                          name: "aprBps";
                          type: "uint256";
                          internalType: "uint256";
                      }];
                  }, {
                      name: "protocolFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "lenderRefinanceDisabled";
                      type: "bool";
                      internalType: "bool";
                  }];
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "transferOwnership";
              inputs: readonly [];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "updateLiquidationDistributor";
              inputs: readonly [{
                  name: "__liquidationDistributor";
                  type: "address";
                  internalType: "address";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "function";
              name: "updateTriggerFee";
              inputs: readonly [{
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }];
              outputs: readonly [];
              stateMutability: "nonpayable";
          }, {
              type: "event";
              name: "AuctionCancelled";
              inputs: readonly [{
                  name: "loanContract";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "collection";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "tokenId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "recipient";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "AuctionSettled";
              inputs: readonly [{
                  name: "loanContract";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "collection";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "tokenId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "asset";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "proceeds";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "settler";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "triggerFee";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "AuctionSettledWithBuyout";
              inputs: readonly [{
                  name: "loanAddress";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "nftAddress";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "tokenId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "largestTrancheIdx";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "BidPlaced";
              inputs: readonly [{
                  name: "collection";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "tokenId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "newBidder";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "bid";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "loanAddress";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "loanId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "BidRefundPending";
              inputs: readonly [{
                  name: "bidder";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }, {
                  name: "asset";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }, {
                  name: "amount";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "BidRefundWithdrawn";
              inputs: readonly [{
                  name: "bidder";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }, {
                  name: "asset";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }, {
                  name: "amount";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "LiquidationDistributorUpdated";
              inputs: readonly [{
                  name: "liquidationDistributor";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "LoanContractAdded";
              inputs: readonly [{
                  name: "loan";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "LoanContractRemoved";
              inputs: readonly [{
                  name: "loan";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "LoanLiquidationStarted";
              inputs: readonly [{
                  name: "collection";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "tokenId";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }, {
                  name: "auction";
                  type: "tuple";
                  indexed: false;
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  components: readonly [{
                      name: "loanAddress";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "loanId";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "triggerFee";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "minBid";
                      type: "uint256";
                      internalType: "uint256";
                  }, {
                      name: "highestBidder";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "duration";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "asset";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "startTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "originator";
                      type: "address";
                      internalType: "address";
                  }, {
                      name: "lastBidTime";
                      type: "uint96";
                      internalType: "uint96";
                  }, {
                      name: "loanHash";
                      type: "bytes32";
                      internalType: "bytes32";
                  }, {
                      name: "buyoutWindow";
                      type: "uint96";
                      internalType: "uint96";
                  }];
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "MinBidForCurrencyUpdated";
              inputs: readonly [{
                  name: "currency";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }, {
                  name: "minBid";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "OwnershipTransferred";
              inputs: readonly [{
                  name: "user";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }, {
                  name: "newOwner";
                  type: "address";
                  indexed: true;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "TimeForMainLenderToBuyUpdated";
              inputs: readonly [{
                  name: "timeForMainLenderToBuy";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "TransferOwnerRequested";
              inputs: readonly [{
                  name: "newOwner";
                  type: "address";
                  indexed: false;
                  internalType: "address";
              }];
              anonymous: false;
          }, {
              type: "event";
              name: "TriggerFeeUpdated";
              inputs: readonly [{
                  name: "triggerFee";
                  type: "uint256";
                  indexed: false;
                  internalType: "uint256";
              }];
              anonymous: false;
          }, {
              type: "error";
              name: "AddressZeroError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "AuctionAlreadyInProgressError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "AuctionHasBidsError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "AuctionNotExpiredError";
              inputs: readonly [{
                  name: "expiration";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              type: "error";
              name: "AuctionNotOverError";
              inputs: readonly [{
                  name: "_expiration";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              type: "error";
              name: "AuctionOverError";
              inputs: readonly [{
                  name: "_expiration";
                  type: "uint96";
                  internalType: "uint96";
              }];
          }, {
              type: "error";
              name: "CollectionNotWhitelistedError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "CouldNotModifyValidLoansError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "CurrencyNotWhitelistedError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "InvalidHashAuctionError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "InvalidInputError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "InvalidLoanHashError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "InvalidTriggerFee";
              inputs: readonly [{
                  name: "triggerFee";
                  type: "uint256";
                  internalType: "uint256";
              }];
          }, {
              type: "error";
              name: "LoanNotAcceptedError";
              inputs: readonly [{
                  name: "_loan";
                  type: "address";
                  internalType: "address";
              }];
          }, {
              type: "error";
              name: "MinBidError";
              inputs: readonly [{
                  name: "_minBid";
                  type: "uint256";
                  internalType: "uint256";
              }];
          }, {
              type: "error";
              name: "MinBidForCurrencyNotSetError";
              inputs: readonly [{
                  name: "currency";
                  type: "address";
                  internalType: "address";
              }];
          }, {
              type: "error";
              name: "NFTNotOwnedError";
              inputs: readonly [{
                  name: "_owner";
                  type: "address";
                  internalType: "address";
              }];
          }, {
              type: "error";
              name: "NoBidsError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "NotMainLenderError";
              inputs: readonly [];
          }, {
              type: "error";
              name: "OptionToBuyExpiredError";
              inputs: readonly [{
                  name: "timeLimit";
                  type: "uint256";
                  internalType: "uint256";
              }];
          }, {
              type: "error";
              name: "OptionToBuyStilValidError";
              inputs: readonly [{
                  name: "timeLimit";
                  type: "uint256";
                  internalType: "uint256";
              }];
          }, {
              type: "error";
              name: "TooSoonError";
              inputs: readonly [];
          }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LiquidationDistributorUpdated" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated" | "TransferOwnerRequested" | "AuctionCancelled" | "BidRefundPending" | "BidRefundWithdrawn" | "MinBidForCurrencyUpdated")[]
              ? TFunctionName[number]
              : TFunctionName>