@nftsafe/sdk
Version:
Lend and rent any ERC721s and ERC1155s on supported mainnet and testnet.
30 lines (29 loc) • 2.23 kB
TypeScript
import { BigNumber, ContractTransaction } from 'ethers';
export declare enum PaymentToken {
SENTINEL = 0,
WETH = 1,
DAI = 2,
USDC = 3,
USDT = 4,
TUSD = 5,
RENT = 6
}
export declare enum NFTStandard {
E721 = 0,
E1155 = 1
}
export interface INFTSafe {
lend(nftStandards: NFTStandard[], nftAddresses: string[], tokenIds: BigNumber[], lendAmounts: BigNumber[], maxRentDurations: number[], minRentDurations: number[], dailyRentPrices: string[], paymentOptions: PaymentToken[], collateralPrices: string[], allowedRenters: string[][][]): Promise<ContractTransaction>;
rent(nftStandards: NFTStandard[], nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[], rentDurations: number[], rentAmounts: BigNumber[]): Promise<ContractTransaction>;
stopRenting(nftStandards: NFTStandard[], nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[], rentingIds: BigNumber[]): Promise<ContractTransaction>;
claimRentOrCollateral(nftStandards: NFTStandard[], nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[], rentingIds: BigNumber[]): Promise<ContractTransaction>;
stopLending(nftStandards: NFTStandard[], nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[]): Promise<ContractTransaction>;
}
export declare type rentProps = {};
export interface IRevenueSharedNFTRentals {
lend(lendingRequests: [NFTStandard, string, BigNumber, BigNumber, string, number, [string[], number[]], [string[]], PaymentToken][]): Promise<ContractTransaction>;
rent(nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[], rentDurations: number[], rentAmounts: BigNumber[]): Promise<ContractTransaction>;
stopRenting(nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[], rentingIds: BigNumber[]): Promise<ContractTransaction>;
shareRevenue(nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[], revenueAmounts: BigNumber[], renters: string[], revenueTokenAddress: string[]): Promise<ContractTransaction>;
stopLending(nftStandards: NFTStandard[], nftAddresses: string[], tokenIds: BigNumber[], lendingIds: BigNumber[]): Promise<ContractTransaction>;
}