@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).
22 lines (21 loc) • 2.58 kB
TypeScript
import { ContractTransaction } from '@ethersproject/contracts';
import { NFTStandard, PaymentToken, SylvesterVersion } from '../../../core';
export interface AbstractSylvesterFunctionInterface<LendFunction, RentFunction, ReturnItFunction, ClaimCollateralFunction, StopLendingFunction> {
readonly lend: LendFunction;
readonly rent: RentFunction;
readonly returnIt: ReturnItFunction;
readonly claimCollateral: ClaimCollateralFunction;
readonly stopLending: StopLendingFunction;
}
export declare type SylvesterV0LendFunction = (nftStandard: NFTStandard[], nftAddress: string[], tokenID: string[], amount: number[], maxRentDuration: number[], dailyRentPrice: number[], paymentToken: PaymentToken[], options?: any) => Promise<ContractTransaction>;
export declare type SylvesterV1LendFunction = (nftStandard: NFTStandard[], nftAddress: string[], tokenID: string[], amount: number[], maxRentDuration: number[], dailyRentPrice: number[], paymentToken: PaymentToken[], willAutoRenew: boolean[], options?: any) => Promise<ContractTransaction>;
export declare type SylvesterV0RentFunction = (nftStandard: NFTStandard[], nftAddress: string[], tokenID: string[], lendingID: string[], rentDuration: number[], rentAmount: string[], options?: any) => Promise<ContractTransaction>;
export declare type SylvesterV0ReturnItFunction = (nftStandard: NFTStandard[], nftAddress: string[], tokenID: string[], lendingID: string[], rentingID: string[], options?: any) => Promise<ContractTransaction>;
export declare type SylvesterV0ClaimCollateralFunction = (nftStandard: NFTStandard[], nftAddress: string[], tokenID: string[], lendingID: string[], rentingID: string[], options?: any) => Promise<ContractTransaction>;
export declare type SylvesterV0StopLendingFunction = (nftStandard: NFTStandard[], nftAddress: string[], tokenID: string[], lendingID: string[], options?: any) => Promise<ContractTransaction>;
export declare type SylvesterV0FunctionInterface = AbstractSylvesterFunctionInterface<SylvesterV0LendFunction, SylvesterV0RentFunction, SylvesterV0ReturnItFunction, SylvesterV0ClaimCollateralFunction, SylvesterV0StopLendingFunction>;
export declare type SylvesterV1FunctionInterface = AbstractSylvesterFunctionInterface<SylvesterV1LendFunction, SylvesterV0RentFunction, SylvesterV0ReturnItFunction, SylvesterV0ClaimCollateralFunction, SylvesterV0StopLendingFunction>;
export declare type SylvesterInterfaceVersions = {
readonly [SylvesterVersion.V0]: SylvesterV0FunctionInterface;
readonly [SylvesterVersion.V1]: SylvesterV1FunctionInterface;
};