@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
TypeScript
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];