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

31 lines (30 loc) 1.84 kB
import { ContractInterface } from '@ethersproject/contracts'; import { AzraelVersion, Network, RenftContractType, RenftContractVersion, ResolverVersion, SylvesterVersion, WhoopiVersion } from '../core'; import { AzraelInterfaceVersions, ResolverInterfaceVersions, SylvesterInterfaceVersions, WhoopiInterfaceVersions } from './contracts'; declare type AbstractVersionedAbis<Version extends RenftContractVersion> = { readonly [key in Version]: ContractInterface; }; export declare type AzraelAbiVersions = AbstractVersionedAbis<AzraelVersion>; export declare type SylvesterAbiVersions = AbstractVersionedAbis<SylvesterVersion>; export declare type WhoopiAbiVersions = AbstractVersionedAbis<WhoopiVersion>; export declare type ResolverAbiVersions = AbstractVersionedAbis<ResolverVersion>; export declare type ContractAbiVersions = { readonly [RenftContractType.AZRAEL]: AzraelAbiVersions; readonly [RenftContractType.SYLVESTER]: SylvesterAbiVersions; readonly [RenftContractType.WHOOPI]: WhoopiAbiVersions; readonly [RenftContractType.RESOLVER]: ResolverAbiVersions; }; export declare type CreateVersionedContractInterfaceResult = { readonly [RenftContractType.AZRAEL]: AzraelInterfaceVersions; readonly [RenftContractType.SYLVESTER]: SylvesterInterfaceVersions; readonly [RenftContractType.WHOOPI]: WhoopiInterfaceVersions; readonly [RenftContractType.RESOLVER]: ResolverInterfaceVersions; }; export declare type AbstractRenftContractDeployment<ContractType extends keyof CreateVersionedContractInterfaceResult, Version extends keyof CreateVersionedContractInterfaceResult[ContractType]> = { readonly contractType: ContractType; readonly version: Version; readonly contractAddress: string; readonly network: Network; readonly startBlock: number; }; export {};