@renft/sdk
Version:
**ReNFT** is a multi-chain highly gas-optimised NFT rental protocol and platform that can be whitelabel integrated into any project to enable collateral-free in-house renting, lending, and reward share (scholarship automation).
19 lines (18 loc) • 1.77 kB
TypeScript
import { ContractTransaction } from '@ethersproject/contracts';
import { PaymentToken, WhoopiVersion } from '../../../core';
export declare type AbstractWhoopiFunctionInterface<LendFunction, RentFunction, StopRentFunction, StopLendingFunction, PayFunction> = {
readonly lend: LendFunction;
readonly rent: RentFunction;
readonly stopRent: StopRentFunction;
readonly stopLending: StopLendingFunction;
readonly pay: PayFunction;
};
export declare type WhoopiV0LendFunction = (nftAddress: string, tokenId: string[], upfrontRentFees: string[], revShareBeneficiaries: string[][], portions: number[][], maxRentDurations: number[], paymentTokens: PaymentToken[], allowedRenters?: string[][], options?: any) => Promise<ContractTransaction>;
export declare type WhoopiV0RentFunction = (nftAddress: string, tokenId: string[], lendingId: string[], rentDurations: number[], options?: any) => Promise<ContractTransaction>;
export declare type WhoopiV0StopRentFunction = (nftAddress: string, tokenId: string[], lendingId: string[], options?: any) => Promise<ContractTransaction>;
export declare type WhoopiV0StopLendingFunction = (nftAddress: string, tokenId: string[], lendingId: string[], options?: any) => Promise<ContractTransaction>;
export declare type WhoopiV0PayFunction = (nftAddress: string, tokenId: string[], lendingId: string[], renterAddress: string[], amountToPay: string[], options?: any) => Promise<ContractTransaction>;
export declare type WhoopiV0FunctionInterface = AbstractWhoopiFunctionInterface<WhoopiV0LendFunction, WhoopiV0RentFunction, WhoopiV0StopRentFunction, WhoopiV0StopLendingFunction, WhoopiV0PayFunction>;
export declare type WhoopiInterfaceVersions = {
readonly [WhoopiVersion.V0]: WhoopiV0FunctionInterface;
};