UNPKG

@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).

70 lines (60 loc) 1.74 kB
import { ContractTransaction } from '@ethersproject/contracts'; import { AzraelVersion, PaymentToken } from '../../../core'; export interface AbstractAzraelFunctionInterface< LendFunction, RentFunction, ReturnItFunction, ClaimCollateralFunction, StopLendingFunction > { readonly lend: LendFunction; readonly rent: RentFunction; readonly returnIt: ReturnItFunction; readonly claimCollateral: ClaimCollateralFunction; readonly stopLending: StopLendingFunction; } export type AzraelV0LendFunction = ( nftAddress: string[], tokenID: string[], amount: number[], maxRentDuration: number[], dailyRentPrice: number[], nftPrice: number[], paymentToken: PaymentToken[], options?: any ) => Promise<ContractTransaction>; export type AzraelV0RentFunction = ( nftAddress: string[], tokenID: string[], lendingID: string[], rentDuration: number[], options?: any ) => Promise<ContractTransaction>; export type AzraelV0ReturnItFunction = ( nftAddress: string[], tokenID: string[], lendingID: string[], options?: any ) => Promise<ContractTransaction>; export type AzraelV0ClaimCollateralFunction = ( nftAddress: string[], tokenID: string[], lendingID: string[], options?: any ) => Promise<ContractTransaction>; export type AzraelV0StopLendingFunction = ( nftAddress: string[], tokenID: string[], lendingID: string[], options?: any ) => Promise<ContractTransaction>; export type AzraelV0FunctionInterface = AbstractAzraelFunctionInterface< AzraelV0LendFunction, AzraelV0RentFunction, AzraelV0ReturnItFunction, AzraelV0ClaimCollateralFunction, AzraelV0StopLendingFunction >; export type AzraelInterfaceVersions = { readonly [AzraelVersion.V0]: AzraelV0FunctionInterface; };