UNPKG

@nftsafe/sdk

Version:

Lend and rent any ERC721s and ERC1155s on supported mainnet and testnet.

30 lines (29 loc) 2.23 kB
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>; }