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

29 lines (28 loc) 2.24 kB
import { Signer } from '@ethersproject/abstract-signer'; import { Contract, ContractInterface } from '@ethersproject/contracts'; import { Deployments, RenftContractType } from '../core'; import { AbstractRenftContractDeployment, CreateVersionedContractInterfaceResult } from './types'; export declare const RENFT_CONTRACT_DEPLOYMENTS: Deployments[]; export declare function hasValidReNftContractType<T extends Deployments>({ contractType, }: T): boolean; export declare function hasValidNetwork<T extends Deployments>({ network, }: T): boolean; export declare function hasValidStartBlock<T extends Deployments>({ startBlock, }: T): boolean; export declare function hasValidContractAddress<T extends Deployments>({ contractAddress, }: T): boolean; export declare function hasValidContractVersion<T extends Deployments>({ contractType, version, }: T): boolean; export declare function isValidDeployment<T extends Deployments>(deployment: T): boolean; export declare function findDeployments<T extends Deployments>(search: Partial<T>): T[]; export declare function findSingleDeploymentOrThrow<T extends Deployments>(search: Partial<T>): T; export declare function getContractAddressForDeployment<T extends Deployments>(search: Omit<Partial<T>, 'contractAddress'>): string; export declare function getDeploymentAbi<T extends RenftContractType>({ contractType, version, }: { readonly contractType: T; readonly version: keyof CreateVersionedContractInterfaceResult[T]; }): ContractInterface; export declare function getContractForDeployment<T extends RenftContractType>({ contractAddress, contractType, version, signer, }: { readonly contractAddress: string; readonly contractType: T; readonly version: keyof CreateVersionedContractInterfaceResult[T]; readonly signer: Signer | null; }): Contract; export declare function getRenftContract<ContractType extends keyof CreateVersionedContractInterfaceResult, Version extends keyof CreateVersionedContractInterfaceResult[ContractType]>({ deployment, signer, }: { readonly deployment: AbstractRenftContractDeployment<ContractType, Version>; readonly signer: Signer | null; }): CreateVersionedContractInterfaceResult[ContractType][Version];