UNPKG

@infy-protocol/sdk

Version:

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

104 lines (91 loc) 2.59 kB
import { BigNumber, ContractTransaction } from 'ethers'; export enum NFTStandard { E721, E1155, } 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>; }