ISellerFinancingEvents.sol
//SPDX-License-Identifier: MIT
pragma solidity 0.8.18;
import "./ISellerFinancingStructs.sol";
/// @notice Events emitted by the NiftyApes Seller Financing protocol.
interface ISellerFinancingEvents {
/// @notice Emitted when a offer signature gets has been used
/// @param nftContractAddress The nft contract address
/// @param nftId The nft id, this field can be meaningless if the offer is a floor term offer
/// @param offer The offer details
/// @param signature The signature that has been revoked
event OfferSignatureUsed(
address indexed nftContractAddress,
uint256 indexed nftId,
ISellerFinancingStructs.Offer offer,
bytes signature
);
/// @notice Emitted when a new loan is executed
/// @param nftContractAddress The nft contract address
/// @param nftId The nft id
/// @param signature The signature that has been used
/// @param loan The loan details
event LoanExecuted(
address indexed nftContractAddress,
uint256 indexed nftId,
bytes signature,
ISellerFinancingStructs.Loan loan
);
/// @notice Emitted when a payment is made toward the loan
/// @param nftContractAddress The nft contract address
/// @param nftId The nft id
/// @param amount The amount paid towards the loan
/// @param totalRoyaltiesPaid The amount paid in royalties
/// @param interestPaid the amount paid in interest
/// @param loan The loan details
event PaymentMade(
address indexed nftContractAddress,
uint256 indexed nftId,
uint256 amount,
uint256 totalRoyaltiesPaid,
uint256 interestPaid,
ISellerFinancingStructs.Loan loan
);
/// @notice Emitted when a loan is fully repaid
/// @param nftContractAddress The nft contract address
/// @param nftId The nft id
/// @param loan The loan details
event LoanRepaid(
address indexed nftContractAddress,
uint256 indexed nftId,
ISellerFinancingStructs.Loan loan
);
/// @notice Emitted when an asset is seized
/// @param nftContractAddress The nft contract address
/// @param nftId The nft id
/// @param loan The loan details
event AssetSeized(
address indexed nftContractAddress,
uint256 indexed nftId,
ISellerFinancingStructs.Loan loan
);
/// @notice Emitted when an NFT is sold instantly on Seaport
/// @param nftContractAddress The nft contract address
/// @param nftId The tokenId of the NFT which was put as collateral
/// @param saleAmount The sale value
event InstantSell(
address indexed nftContractAddress,
uint256 indexed nftId,
uint256 saleAmount
);
}
Updated over 1 year ago