@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
TypeScript
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 {};