UNPKG

@infy-protocol/sdk

Version:

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

24 lines (23 loc) 2.37 kB
import { BigNumber, ContractTransaction } from 'ethers'; export declare enum NFTStandard { E721 = 0, E1155 = 1 } export interface ITimeBasedNFTRentals { lend(nftStandards: NFTStandard[], nftAddresses: string[], tokenIds: BigNumber[], lendAmounts: BigNumber[], maxRentDurations: number[], minRentDurations: number[], dailyRentPrices: BigNumber[], paymentOptions: number[], collateralPrices: BigNumber[], 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 interface IRevenueSharedNFTRentals { lend(nftStandard: NFTStandard[], nftAddress: string[], tokenId: BigNumber[], lendAmount: BigNumber[], upfrontFee: BigNumber[], maxRentDuration: number[], revenueShareInfo: [string[], number[]][], allowedRenter: string[][][], paymentOption: number[]): 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>; } export interface IRevenueSharedConfigurator { getPaymentOption(paymentOption: Number): Promise<number>; isNFTAllowedForRevenueSharedRenting(address: string): Promise<boolean>; }